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.
Pode haver:
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)
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)
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.
Criou-se o vetor notas1 = notas + 1, ou seja,
foi somado 1 ponto a cada nota.
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")
📌 Impacto: Os alunos com notas muito baixas se beneficiam mais visivelmente dessa bonificação, mas todos os alunos têm a mesma melhoria relativa.
Aqui, o vetor notas2 = notas * 1.2 foi criado,
representando um aumento de 20% sobre o valor original da nota de cada
aluno.
breaks = c(0, 2.4, 4.8, 7.2, 9.6).#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.
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.
# Atividade2
Por outro lado também fizemos um histograma com os sálarios do Brasil, onde convertemos e aprendemos a calcular a média
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
)
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
Criamos uma base para receber dois gráficos
par(mfrow = c(2,1), mar = c(4, 4, 2, 1))
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)
)
Aprendemos sobre média
media = sum(salarios_mil)/100
media
## [1] 16.55744
Aprendemos a Criar uma função que calcula a média
mean(salarios_mil)
## [1] 16.55744
q1 = salarios_mil[25]
q2 = salarios_mil[50]
q3 = salarios_mil[75]
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")
par(mar = c(4,4,0,1))
boxplot (salarios_mil,
horizontal = TRUE,
col = "red")
### União de Dois Gráficos
#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
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
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)