Introdução

Abaixo está um relatório descritivo com base no meu código em R, que analisa a distribuição das notas de Física de uma turma, além de considerar duas formas de bonificação. O relatório pode ser usado para apresentação em sala de aula, em atividades avaliativas ou relatórios de desempenho.
Os conceitos de média, mediana e moda, frequentemente estudados em sala de aula.

A média é a soma de todos os valores dividida pelo número total de elementos. Ela representa um valor “central” ou típico de um conjunto de dados.

\[ \text{Média} = \frac{\text{Soma dos valores}}{\text{Número de valores}} \]

A mediana é o valor que está no meio de um conjunto de dados ordenado (do menor para o maior).

A moda é o valor que mais se repete em um conjunto de dados.

atividade 1

O conjunto de dados contém 35 notas de alunos na disciplina de Física, variando entre 0.8 e 8.0.

notas = c(0.8,2,2,2.5,2.5,3.5,4.5,5,5.4,5.5,5.5,5.5,6,6,6,6,6.3,6.5,6.8,6.8,7,7,7,7,7.3,7.3,7.5,7.5,7.5,7.5,7.8,8,8,8,8)

Gráfico de Barras

Foi criado um gráfico de barras utilizando a função barplot() com a tabela de frequência absoluta (table(notas)). Esse gráfico mostra quantas vezes cada nota exata aparece no conjunto de dados.

#Grafico de barras com as notas de física
tabnotas = table(notas)

barplot (tabnotas)

📌 Observações:

  • As notas estão distribuídas em um intervalo relativamente amplo.

Histograma

diagrama constituído por retângulos ou linhas desenhados a partir de uma linha de base, em que a posição deles ao longo dessa linha representa o valor ou a amplitude de uma das variáveis, e a sua altura, o valor correspondente de uma segunda variável.

Um histograma foi gerado com o objetivo de visualizar a distribuição das notas:

#histograma das notas de fisica
hist(notas,
     nclass = 5,
     right = FALSE,
     ylim = c(0,30),
     col = "pink",
     main = "histograma das notas de fisica",
     xlab = "notas da turma",
     ylab = "freq absoluta")

O número de classes foi definido como 5.

As cores foram personalizadas para melhorar a visualização.

O eixo Y mostra a frequência absoluta (número de alunos em cada faixa de nota).

O histograma indica que a maior parte das notas está concentrada entre 5 e 8.

🟣 Bonificação 1: Soma de 1 ponto

Criou-se o vetor notas1 = notas + 1, ou seja, foi somado 1 ponto a cada nota.

  • Um novo histograma foi plotado com classes definidas em breaks = c(1,3,5,7,9).
#Bonificação 1: aumentar 1 ponto
#novo conjunto de notas somado 1 ponto
notas1 = notas+1
notas1
##  [1] 1.8 3.0 3.0 3.5 3.5 4.5 5.5 6.0 6.4 6.5 6.5 6.5 7.0 7.0 7.0 7.0 7.3 7.5 7.8
## [20] 7.8 8.0 8.0 8.0 8.0 8.3 8.3 8.5 8.5 8.5 8.5 8.8 9.0 9.0 9.0 9.0
#Histograma da bonificação 1
hist(notas1, 
     breaks = c(1,3,5,7,9), 
     right = FALSE,
     ylim = c(0,30),
     xlim = c(0,10),
     col = "violet",
     main = "Notas de física somado 1 ponto",
     xlab = "Notas da turma",
     ylab = "Freq. Absoluta")

  • Essa bonificação eleva todas as notas de forma uniforme.

📌 Impacto: Os alunos com notas muito baixas se beneficiam mais visivelmente dessa bonificação, mas todos os alunos têm a mesma melhoria relativa.

Bonificação 2

Aqui, o vetor notas2 = notas * 1.2 foi criado, representando um aumento de 20% sobre o valor original da nota de cada aluno.

#Bonificação 2: aumentar as notas em 20%
#novo conjunto de notas aumentadas em 20%
notas2 = notas*1.2
notas2
##  [1] 0.96 2.40 2.40 3.00 3.00 4.20 5.40 6.00 6.48 6.60 6.60 6.60 7.20 7.20 7.20
## [16] 7.20 7.56 7.80 8.16 8.16 8.40 8.40 8.40 8.40 8.76 8.76 9.00 9.00 9.00 9.00
## [31] 9.36 9.60 9.60 9.60 9.60
hist(notas2, 
     breaks = c(0,2.4,4.8,7.2,9.6), 
     right = FALSE,
     ylim = c(0,30),
     xlim = c(0,10),
     col = "#0bd3de",
     main = "Notas de física aumentadas em 20%",
     xlab = "Notas da turma",
     ylab = "Freq. Absoluta")

📌 Impacto: Alunos com desempenho já alto acabam sendo mais beneficiados em termos absolutos. Por exemplo, quem tirou 8, passa a ter 9.6; enquanto quem tirou 2, passa a ter 2.4.

Conclusão

A análise gráfica e quantitativa das notas permite visualizar o desempenho geral da turma e o impacto de políticas de bonificação.

atividade 2

# Atividade2

Por outro lado também fizemos um histograma com os sálarios do Brasil, onde convertemos e aprendemos a calcular a média

Vetor com os 100 maiores salários líquidos mensais (em reais)More actions

Utilizamos como exemplo para essa atividade os 100 maiores salários líquidos mensais em reais

salarios <- c(
  14688, 14792, 14876, 14912, 15008, 15121, 15188, 15202, 15245, 15300,
  15312, 15398, 15422, 15487, 15505, 15534, 15545, 15602, 15656, 15667,
  15687, 15702, 15728, 15755, 15769, 15802, 15845, 15900, 15955, 15989,
  16000, 16022, 16034, 16088, 16123, 16167, 16202, 16256, 16300, 16345,
  16400, 16422, 16430, 16487, 16520, 16566, 16602, 16645, 16689, 16700,
  16733, 16765, 16789, 16800, 16845, 16867, 16889, 16900, 16945, 16967,
  16988, 17000, 17022, 17045, 16890, 17066, 17089, 17100, 17145, 17189,
  17202, 17222, 17256, 17289, 17300, 17322, 17345, 17366, 17389, 17400,
  17433, 17456, 17467, 17489, 17500, 17545, 17556, 17567, 17578, 17600,
  17622, 17633, 17645, 17667, 17689, 17700, 17733, 17789, 17845, 18515
)

Converter salários para mil reais

Convertemos o salário para mil

salarios_mil = salarios/1000

salarios_mil
##   [1] 14.688 14.792 14.876 14.912 15.008 15.121 15.188 15.202 15.245 15.300
##  [11] 15.312 15.398 15.422 15.487 15.505 15.534 15.545 15.602 15.656 15.667
##  [21] 15.687 15.702 15.728 15.755 15.769 15.802 15.845 15.900 15.955 15.989
##  [31] 16.000 16.022 16.034 16.088 16.123 16.167 16.202 16.256 16.300 16.345
##  [41] 16.400 16.422 16.430 16.487 16.520 16.566 16.602 16.645 16.689 16.700
##  [51] 16.733 16.765 16.789 16.800 16.845 16.867 16.889 16.900 16.945 16.967
##  [61] 16.988 17.000 17.022 17.045 16.890 17.066 17.089 17.100 17.145 17.189
##  [71] 17.202 17.222 17.256 17.289 17.300 17.322 17.345 17.366 17.389 17.400
##  [81] 17.433 17.456 17.467 17.489 17.500 17.545 17.556 17.567 17.578 17.600
##  [91] 17.622 17.633 17.645 17.667 17.689 17.700 17.733 17.789 17.845 18.515

criar uma base para receber dois gráficos

Criamos uma base para receber dois gráficos

par(mfrow = c(2,1), mar = c(4, 4, 2, 1))

histograma dos 100 salários de desenvolvedores no Brasil

Representação dos 100 maiores salários de desenvolverdores no Brasil

hist(salarios_mil,
     breaks = seq(14.6, 18.6, by = 0.4),
     col = "#831fc2",
     main = "Histograma dos 100 maiores salários de desenvolvedores de software no Brasil",
     xlab = "Salários (mil R$)",
     ylab = "Freq. Absoluta",
     xlim = c(14, 19),
     ylim = c(0,22)
     )

Criar as Marcações

media

Aprendemos sobre média

media = sum(salarios_mil)/100
media
## [1] 16.55744

Função que calcula a média

Aprendemos a Criar uma função que calcula a média

mean(salarios_mil)
## [1] 16.55744

Quartis

q1 = salarios_mil[25]
q2 = salarios_mil[50]
q3 = salarios_mil[75]

adicionar linhas no histograma

Aprendemos a adicionar Linhas no nosso histograma

hist(salarios_mil,
     breaks = seq(14.6, 18.6, by = 0.4),
     col = "#831fc2",
     main = "Histograma dos 100 maiores salários de desenvolvedores de software no Brasil",
     xlab = "Salários (mil R$)",
     ylab = "Freq. Absoluta",
     xlim = c(14, 19),
     ylim = c(0,30)
     )


abline(v = media, col = "red", lwd = 2, lty = 2)
abline(v = q1, col = "black", lwd = 2, lty = 2)
abline(v = q2, col = "blue", lwd = 2, lty = 2)
abline(v = q3, col = "green", lwd = 2, lty = 3)

text(15, 77, 25, labels = "Q1", cex = 0.6)
text(16.7,25, labels = "Q2", cex = 0.6)
text(17.3, 25, labels = "Q3", cex = 0.6)
text(16.5, 28, labels = "mèdia", cex = 0.6, col = "blue")

Boxplot

par(mar = c(4,4,0,1))
boxplot (salarios_mil,
         horizontal = TRUE,
         col = "red")

### União de Dois Gráficos

União de dois gráficos com representação significativa para um melhor entendimento

#criar uma base para receber dois gráficos
par(mfrow = c(2,1), mar = c(4, 4, 2, 1))


hist(salarios_mil,
     breaks = seq(14.6, 18.6, by = 0.4),
     col = "#831fc2",
     main = "Histograma dos 100 maiores salários de desenvolvedores de software no Brasil",
     xlab = "Salários (mil R$)",
     ylab = "Freq. Absoluta",
     xlim = c(14, 19),
     ylim = c(0,30)
     )


abline(v = media, col = "red", lwd = 2, lty = 2)
abline(v = q1, col = "black", lwd = 2, lty = 2)
abline(v = q2, col = "blue", lwd = 2, lty = 2)
abline(v = q3, col = "green", lwd = 2, lty = 3)

text(15, 77, 25, labels = "Q1", cex = 0.6)
text(16.7,25, labels = "Q2", cex = 0.6)
text(17.3, 25, labels = "Q3", cex = 0.6)
text(16.5, 28, labels = "mèdia", cex = 0.6, col = "blue")

par(mar = c(4,4,0,1))
boxplot (salarios_mil,
         horizontal = TRUE,
         col = "red")

# Criação dos Vetores - Cotação das empresas A e B A cotação semanal das empresas para entender como funcionam, vimos que a empresa A não tem muita variação de uma semana pra outra, já a empresa B tem grande variação de uma semana pra outra

A = c (61, 56, 63, 57, 67, 63, 67, 58, 67, 56)
A
##  [1] 61 56 63 57 67 63 67 58 67 56
B = c (67, 48, 52, 82, 77, 33, 67, 42, 90, 57)
B
##  [1] 67 48 52 82 77 33 67 42 90 57
semana = c(1:10)
semana
##  [1]  1  2  3  4  5  6  7  8  9 10

Juntar as Informações em uma tabela

Juntamos todas as informações das empresas A e B

acoes = data.frame(semana, A, B)
acoes
##    semana  A  B
## 1       1 61 67
## 2       2 56 48
## 3       3 63 52
## 4       4 57 82
## 5       5 67 77
## 6       6 63 33
## 7       7 67 67
## 8       8 58 42
## 9       9 67 90
## 10     10 56 57

Gráfico de Linhas

plot (semana, A,
      type = "o",
      col = "red",
      lwd = 2,
      pch = 18,
      ylim = c(30,95),
      main = "Cotação das Ações",
      ylab = "COtações")

lines (B, type = "o",
        col = "blue",
        lwd = 2,
        pch = 18)
legend (9, 55,
        c("Ações de A", "Ações de B"),
        col = c("red", "blue"),
        lty = 1,
        pch = 18,
        cex = 0.5)