Sumário - Todos os alunos
psych::describe(notas$notas)
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 129 5.76 2.34 5.5 5.81 2.22 0 10 10 -0.29 -0.01 0.21
library(ggplot2)
a <- ggplot(notas, aes(x = notas))
#histogram Eng
# Position adjustment: "identity" (overlaid)
#a + geom_histogram(breaks=seq(0,10,1),aes(color = turma), fill = "white", alpha = 0.4,position="identity", closed #= c("left"))+
# scale_x_continuous(limits = c(0,10), breaks=seq(0,10,1))+
# theme_minimal()+
# xlab("Notas")+
# ylab("Frequência")+
# ggtitle("Histograma por turmas (Eng 2A e 2B)")
#histogram Eng
plot <- ggplot(data=notas, aes(x=notas)) + geom_histogram(breaks=seq(0,10,1),fill="royalblue", colour="black", alpha=.4, closed = c("left"))
plot <- plot + xlab("Notas")+
ylab("Frequência")+
ggtitle("Histograma das turmas Eng 2A e 2B")+
theme(plot.title=element_text(size=rel(1), lineheight=.9,face="bold.italic", colour="black"))+
theme(axis.title=element_text(size=12, lineheight=.9, face="bold", colour="black"))+
stat_bin(bins=10, binwidth = 1,breaks=seq(0,10,1), geom="text", aes(label=..count..), vjust=-1, closed = c("left"))+ scale_x_continuous(limits = c(0,10), breaks=seq(0,10,1))+
scale_y_continuous(expand = c(0,0),limits = c(0,max(ggplot_build(plot)$data[[1]]$count)*1.1), breaks=seq(0,max(ggplot_build(plot)$data[[1]]$count)*1.1,10))
plot

a + geom_dotplot(aes(fill = turma),binpositions = "all")+
theme_minimal()

# Box plot with mean points
e <- ggplot(notas, aes(x = turma, y = notas))
e + geom_boxplot(aes(color = turma,fill = turma)) +
stat_summary(fun.y = mean, geom = "point",
shape = 18, size = 4, color = "blue")+
scale_color_brewer(palette="Dark2")+
theme_minimal()

# Change point colors by dose (groups)
e + geom_jitter(aes(color = turma), position = position_jitter(0.3)) +
theme_minimal()

library(ggpubr) #http://www.sthda.com/english/articles/24-ggpubr-publication-ready-plots/
ggdensity(notas, x = "notas",
add = "mean", rug = TRUE,
color = "turma", fill = "turma",
palette = c("#00AFBB", "#E7B800"),
ylab = "Densidade")

gghistogram(notas, x = "notas",
add = "mean", rug = TRUE,
color = "turma", fill = "turma",
palette = c("#00AFBB", "#E7B800"))
Using `bins = 30` by default. Pick better value with the argument `bins`.

p <- ggboxplot(notas, x = "turma", y = "notas",
color = "turma", palette =c("#00AFBB","#FC4E07"),
add = "jitter", shape = "turma")
p

ggviolin(notas, x = "turma", y = "notas", fill = "turma",
palette = c("#00AFBB", "#FC4E07"),
add = "boxplot", add.params = list(fill = "white"))

#ggdotchart(notas, x = "aluno", y = "notas",
# color = "turma", # Color by groups
# palette = c("#00AFBB", "#FC4E07"), # Custom color palette
# sorting = "descending", # Sort value in descending order
# add = "segments", # Add segments from y = 0 to dots
# rotate = TRUE, # Rotate vertically
# group = "turma", # Order by groups
## dot.size = 6, # Large dot size
# label = round(notas$notas), # Add mpg values as dot labels
# font.label = list(color = "white", size = 8,
# vjust = 2.5), # Adjust label parameters
# ggtheme = theme_pubr() # ggplot2 theme
# )
#ggdotchart(notas, x = "aluno", y = "notas",
# color = "turma", # Color by groups
# palette = c("#00AFBB", "#FC4E07"), # Custom color palette
# sorting = "descending", # Sort value in descending order
# rotate = TRUE, # Rotate vertically
# dot.size = 2, # Large dot size
# y.text.col = TRUE, # Color y text by groups
# ggtheme = theme_pubr() # ggplot2 theme
# )+
# theme_cleveland() # Add dashed grids
LS0tDQp0aXRsZTogIlByb2JhYmlsaWRhZGUgZSBFc3RhdMOtc3RpY2EgLSBFbmdlbmhhcmlhIDLCuiBhbm8gLSBBRURCIg0KYXV0aG9yOiAiUHJvZiBEci4gUm9iZXJ0byBDYW1wb3MgTGVvbmkiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIyMgUmVzdWx0YWRvIGRhIGF2YWxpYcOnw6NvIGRlIFByb2JhYmlsaWRhZGUgZSBFc3RhdMOtc3RpY2EgLSBFbmdlbmhhcmlhIDJBIGUgMkIgLSBBRURCDQojIyMgNMK6IEJpbWVzdHJlIC0gMjAxNw0KDQoqKioNCmBgYHtyfQ0Kcm0obGlzdD1scyhhbGw9VFJVRSkpDQoNCmxpYnJhcnkocmVhZHhsKQ0Kbm90YXMgPC0gcmVhZF9leGNlbCgibm90YXMueGxzeCIpDQoNCiNub3RhcyRub3RhcyA8LW5vdGFzJG5vdGFzLzEwDQpgYGANCg0KIyBUYWJ1bGHDp8OjbyBkYXMgTm90YXMgcG9yIFR1cm1hDQoNCmBgYHtyfQ0KbGlicmFyeShwc3ljaCkNCnRhYmxlKG5vdGFzKQ0KDQpsaWJyYXJ5KCJncmFwaGljcyIpDQojIyMgTW9zYWljIHBsb3Qgb2Ygb2JzZXJ2ZWQgdmFsdWVzDQptb3NhaWNwbG90KHRhYmxlKG5vdGFzKSwgIGxhcz0yLCBjb2w9InN0ZWVsYmx1ZSIsDQogICAgICAgICAgIG1haW4gPSAiVGFidWxhw6fDo28gZGFzIG5vdGFzIikNCg0KDQoNCmBgYA0KDQojIFN1bcOhcmlvIC0gVHVybWFzIDJBIGUgMkINCg0KYGBge3J9DQoNCmRlc2NyaWJlQnkobm90YXMkbm90YXMsIG5vdGFzJHR1cm1hKQ0KDQpgYGANCg0KDQojIFN1bcOhcmlvIC0gVG9kb3Mgb3MgYWx1bm9zDQoNCmBgYHtyfQ0KcHN5Y2g6OmRlc2NyaWJlKG5vdGFzJG5vdGFzKQ0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KYSA8LSBnZ3Bsb3Qobm90YXMsIGFlcyh4ID0gbm90YXMpKQ0KDQojaGlzdG9ncmFtIEVuZw0KIyBQb3NpdGlvbiBhZGp1c3RtZW50OiAiaWRlbnRpdHkiIChvdmVybGFpZCkNCiNhICsgZ2VvbV9oaXN0b2dyYW0oYnJlYWtzPXNlcSgwLDEwLDEpLGFlcyhjb2xvciA9IHR1cm1hKSwgZmlsbCA9ICJ3aGl0ZSIsIGFscGhhID0gMC40LHBvc2l0aW9uPSJpZGVudGl0eSIsIGNsb3NlZCAjPSBjKCJsZWZ0IikpKw0KIyAgc2NhbGVfeF9jb250aW51b3VzKGxpbWl0cyA9IGMoMCwxMCksIGJyZWFrcz1zZXEoMCwxMCwxKSkrDQojICB0aGVtZV9taW5pbWFsKCkrDQojICB4bGFiKCJOb3RhcyIpKw0KIyAgeWxhYigiRnJlcXXDqm5jaWEiKSsNCiMgIGdndGl0bGUoIkhpc3RvZ3JhbWEgcG9yIHR1cm1hcyAoRW5nIDJBIGUgMkIpIikNCiAgDQojaGlzdG9ncmFtIEVuZw0KcGxvdCA8LSBnZ3Bsb3QoZGF0YT1ub3RhcywgYWVzKHg9bm90YXMpKSArIGdlb21faGlzdG9ncmFtKGJyZWFrcz1zZXEoMCwxMCwxKSxmaWxsPSJyb3lhbGJsdWUiLCBjb2xvdXI9ImJsYWNrIiwgYWxwaGE9LjQsIGNsb3NlZCA9IGMoImxlZnQiKSkNCg0KcGxvdCA8LSBwbG90ICsgeGxhYigiTm90YXMiKSsNCiAgeWxhYigiRnJlcXXDqm5jaWEiKSsNCiAgZ2d0aXRsZSgiSGlzdG9ncmFtYSBkYXMgdHVybWFzIEVuZyAyQSBlIDJCIikrDQogIHRoZW1lKHBsb3QudGl0bGU9ZWxlbWVudF90ZXh0KHNpemU9cmVsKDEpLCBsaW5laGVpZ2h0PS45LGZhY2U9ImJvbGQuaXRhbGljIiwgY29sb3VyPSJibGFjayIpKSsNCiAgdGhlbWUoYXhpcy50aXRsZT1lbGVtZW50X3RleHQoc2l6ZT0xMiwgbGluZWhlaWdodD0uOSwgZmFjZT0iYm9sZCIsIGNvbG91cj0iYmxhY2siKSkrDQogIHN0YXRfYmluKGJpbnM9MTAsIGJpbndpZHRoID0gMSxicmVha3M9c2VxKDAsMTAsMSksIGdlb209InRleHQiLCBhZXMobGFiZWw9Li5jb3VudC4uKSwgdmp1c3Q9LTEsIGNsb3NlZCA9IGMoImxlZnQiKSkrIHNjYWxlX3hfY29udGludW91cyhsaW1pdHMgPSBjKDAsMTApLCBicmVha3M9c2VxKDAsMTAsMSkpKw0KICBzY2FsZV95X2NvbnRpbnVvdXMoZXhwYW5kID0gYygwLDApLGxpbWl0cyA9IGMoMCxtYXgoZ2dwbG90X2J1aWxkKHBsb3QpJGRhdGFbWzFdXSRjb3VudCkqMS4xKSwgIGJyZWFrcz1zZXEoMCxtYXgoZ2dwbG90X2J1aWxkKHBsb3QpJGRhdGFbWzFdXSRjb3VudCkqMS4xLDEwKSkgDQpwbG90DQoNCg0KDQphICsgZ2VvbV9kb3RwbG90KGFlcyhmaWxsID0gdHVybWEpLGJpbnBvc2l0aW9ucyA9ICJhbGwiKSsNCiAgdGhlbWVfbWluaW1hbCgpDQoNCg0KIyBCb3ggcGxvdCB3aXRoIG1lYW4gcG9pbnRzDQplIDwtIGdncGxvdChub3RhcywgYWVzKHggPSB0dXJtYSwgeSA9IG5vdGFzKSkNCmUgKyBnZW9tX2JveHBsb3QoYWVzKGNvbG9yID0gdHVybWEsZmlsbCA9IHR1cm1hKSkgKw0Kc3RhdF9zdW1tYXJ5KGZ1bi55ID0gbWVhbiwgZ2VvbSA9ICJwb2ludCIsDQpzaGFwZSA9IDE4LCBzaXplID0gNCwgY29sb3IgPSAiYmx1ZSIpKw0KICBzY2FsZV9jb2xvcl9icmV3ZXIocGFsZXR0ZT0iRGFyazIiKSsNCiAgdGhlbWVfbWluaW1hbCgpDQoNCiMgQ2hhbmdlIHBvaW50IGNvbG9ycyBieSBkb3NlIChncm91cHMpDQplICsgZ2VvbV9qaXR0ZXIoYWVzKGNvbG9yID0gdHVybWEpLCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcigwLjMpKSArDQp0aGVtZV9taW5pbWFsKCkNCg0KYGBgDQpgYGB7cn0NCmxpYnJhcnkoZ2dwdWJyKSAgI2h0dHA6Ly93d3cuc3RoZGEuY29tL2VuZ2xpc2gvYXJ0aWNsZXMvMjQtZ2dwdWJyLXB1YmxpY2F0aW9uLXJlYWR5LXBsb3RzLw0KDQpnZ2RlbnNpdHkobm90YXMsIHggPSAibm90YXMiLA0KICAgYWRkID0gIm1lYW4iLCBydWcgPSBUUlVFLA0KICAgY29sb3IgPSAidHVybWEiLCBmaWxsID0gInR1cm1hIiwNCiAgIHBhbGV0dGUgPSBjKCIjMDBBRkJCIiwgIiNFN0I4MDAiKSwNCiAgIHlsYWIgPSAiRGVuc2lkYWRlIikNCg0KDQpnZ2hpc3RvZ3JhbShub3RhcywgeCA9ICJub3RhcyIsDQogICBhZGQgPSAibWVhbiIsIHJ1ZyA9IFRSVUUsDQogICBjb2xvciA9ICJ0dXJtYSIsIGZpbGwgPSAidHVybWEiLA0KICAgcGFsZXR0ZSA9IGMoIiMwMEFGQkIiLCAiI0U3QjgwMCIpKQ0KDQoNCnAgPC0gZ2dib3hwbG90KG5vdGFzLCB4ID0gInR1cm1hIiwgeSA9ICJub3RhcyIsDQogICAgICAgICAgICAgICAgY29sb3IgPSAidHVybWEiLCBwYWxldHRlID1jKCIjMDBBRkJCIiwiI0ZDNEUwNyIpLA0KICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiLCBzaGFwZSA9ICJ0dXJtYSIpDQpwDQoNCg0KDQoNCmdndmlvbGluKG5vdGFzLCB4ID0gInR1cm1hIiwgeSA9ICJub3RhcyIsIGZpbGwgPSAidHVybWEiLA0KICAgICAgICAgcGFsZXR0ZSA9IGMoIiMwMEFGQkIiLCAiI0ZDNEUwNyIpLA0KICAgICAgICAgYWRkID0gImJveHBsb3QiLCBhZGQucGFyYW1zID0gbGlzdChmaWxsID0gIndoaXRlIikpDQoNCg0KDQojZ2dkb3RjaGFydChub3RhcywgeCA9ICJhbHVubyIsIHkgPSAibm90YXMiLA0KIyAgICAgICAgICAgY29sb3IgPSAidHVybWEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDb2xvciBieSBncm91cHMNCiMgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMDBBRkJCIiwgIiNGQzRFMDciKSwgIyBDdXN0b20gY29sb3IgcGFsZXR0ZQ0KIyAgICAgICAgICAgc29ydGluZyA9ICJkZXNjZW5kaW5nIiwgICAgICAgICAgICAgICAgICAgICAgICMgU29ydCB2YWx1ZSBpbiBkZXNjZW5kaW5nIG9yZGVyDQojICAgICAgICAgICBhZGQgPSAic2VnbWVudHMiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBZGQgc2VnbWVudHMgZnJvbSB5ID0gMCB0byBkb3RzDQojICAgICAgICAgICByb3RhdGUgPSBUUlVFLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBSb3RhdGUgdmVydGljYWxseQ0KIyAgICAgICAgICAgZ3JvdXAgPSAidHVybWEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBPcmRlciBieSBncm91cHMNCiMjICAgICAgICAgICBkb3Quc2l6ZSA9IDYsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMYXJnZSBkb3Qgc2l6ZQ0KIyAgICAgICAgICAgbGFiZWwgPSByb3VuZChub3RhcyRub3RhcyksICAgICAgICAgICAgICAgICAgICAgICAgIyBBZGQgbXBnIHZhbHVlcyBhcyBkb3QgbGFiZWxzDQojICAgICAgICAgICBmb250LmxhYmVsID0gbGlzdChjb2xvciA9ICJ3aGl0ZSIsIHNpemUgPSA4LCANCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZqdXN0ID0gMi41KSwgICAgICAgICAgICAgICAjIEFkanVzdCBsYWJlbCBwYXJhbWV0ZXJzDQojICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfcHVicigpICAgICAgICAgICAgICAgICAgICAgICAgIyBnZ3Bsb3QyIHRoZW1lDQojICAgICAgICAgICApDQoNCg0KYGBgDQpgYGB7ciBmaWcud2lkdGg9MTh9DQojZ2dkb3RjaGFydChub3RhcywgeCA9ICJhbHVubyIsIHkgPSAibm90YXMiLA0KIyAgICAgICAgICAgY29sb3IgPSAidHVybWEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDb2xvciBieSBncm91cHMNCiMgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMDBBRkJCIiwgIiNGQzRFMDciKSwgIyBDdXN0b20gY29sb3IgcGFsZXR0ZQ0KIyAgICAgICAgICAgc29ydGluZyA9ICJkZXNjZW5kaW5nIiwgICAgICAgICAgICAgICAgICAgICAgICMgU29ydCB2YWx1ZSBpbiBkZXNjZW5kaW5nIG9yZGVyDQojICAgICAgICAgICByb3RhdGUgPSBUUlVFLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBSb3RhdGUgdmVydGljYWxseQ0KIyAgICAgICAgICAgZG90LnNpemUgPSAyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTGFyZ2UgZG90IHNpemUNCiMgICAgICAgICAgIHkudGV4dC5jb2wgPSBUUlVFLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENvbG9yIHkgdGV4dCBieSBncm91cHMNCiMgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9wdWJyKCkgICAgICAgICAgICAgICAgICAgICAgICAjIGdncGxvdDIgdGhlbWUNCiMgICAgICAgICAgICkrDQojICB0aGVtZV9jbGV2ZWxhbmQoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBZGQgZGFzaGVkIGdyaWRzDQoNCmBgYA0KDQo=