#7.3
x <- c(-3, 3)
y <- c(7, 13)
plot(x, y, type = "n", main = "", xlab = "", ylab = "")
abline(h = c(7, 13), v = c(-3, 3), col = "grey", lty = 2)
text(x = 0, y = 10, labels = "SOMETHING \nPROFOUND")
arrows(x0 = c(rep(-2.5, 3), rep(2.5, 3)), y0 = c(rep(c(7.5, 10, 12.5))), x1 = c(rep(-1, 3), rep(1, 3)), y1 = c(rep(c(9.5, 10, 10.5),2)))
tabela <- data.frame(
w = c(55, 85, 75, 42, 93, 63, 58, 75, 89, 67),
h = c(161, 185, 174, 154, 188, 178, 170, 167, 181, 178),
sex = c(rep(c("female", 'male', 'male'),3), 'female')
)
plot(tabela$w, tabela$h, main = "Weight by height (kg/cm)", xlab = "Weight", ylab = "height", pch = "")
points(x = pull(subset(tabela, sex == "female", select = w)),
y = pull(subset(tabela, sex == "female", select = h)),
col = "blue", pch = 20, cex = 1.5)
points(x = pull(subset(tabela, sex == "male", select = w)),
y = pull(subset(tabela, sex == "male", select = h)),
col = "red", pch = 20, cex = 1.5)
legend("bottomright", legend = c('Male', 'Female'), pch = 20,
col = c('red', 'blue'), pt.cex = 1.5)
set.seed(1234)
x <- seq(-5, 5, length = 10000)
y <- dnorm(x)
dfnorm <- data.frame(x, y)
plot(x, y, type = "l", main = "Distribuição Normal Padrão", xlab = "Z", ylab = "Densidade" )
segments(y0 = max(y), y1 = 0, x0 = 0, x1 = 0, lty = 4, lwd = 3)
segments(x0 = c(qnorm(.95), qnorm(.95)),
x1 = c(qnorm(.95), max(x)),
y0 = c(0,0),
y1 = c(dnorm(qnorm(.95)),0)
)
polygon(x = c(dfnorm$x[dfnorm$x >= qnorm(.95)], qnorm(.95)),
y = c(dfnorm$y[dfnorm$x >= qnorm(.95)], 0),
col = "#33FF99",
border = 1)
text(x = 3, y = .32, labels = "P(Z>1.6448) = 5%")
arrows(y0 = .3, y1 = .1, x0 = 3, x1 = 2)
#tabela com locais dos textos
locais_auto <- data.frame(x = c(.7, 1.3, .7, 1.3, .7), y = NA, labels = NA)
locais_man <- data.frame(x = c(1.7, 2.3, 1.7, 2.3, 1.7))
textos <- c('Min = ', 'Q1 = ', 'Q2 = ', 'Q3 = ', 'Max = ')
#laço de repetição requerido
for (i in 1:dim(locais_auto)[1]){
locais_auto$y[i] <- quantile(mtcars[mtcars$am == 0,]$mpg, probs = (i-1)*.25)
locais_auto$labels[i] <- paste(textos[i], locais_auto$y[i])
locais_man$y[i] <- quantile(mtcars[mtcars$am == 1,]$mpg, probs = (i-1)*.25)
locais_man$labels[i] <- paste(textos[i], locais_man$y[i])
}
#plot base
boxplot(mpg ~ am, data = mtcars,
main = "Desempenho por galão de combustível", xlab = "Câmbio", ylab = "Milhas",
xaxt = "n",
boxwex = .2)
#nomes das caixas
axis(side = 1,
at = c(1, 2),
labels = c('Automático', 'Manual'))
#textos anotados feitos de forma vetorizada, nao é feito um por um
text(x = locais_auto$x, y = locais_auto$y, labels = locais_auto$labels, col = 'springgreen4')
text(x = locais_man$x, y = locais_man$y, labels = locais_man$labels, col = 'violetred4')
new <- mtcars[order(mpg),]
new$n <- seq(1:dim(mtcars)[1])
medias <- new %>%
group_by(cyl)%>%
select(cyl, n, mpg)%>%
mutate(media = mean(mpg),
acima = if_else(mpg < media, "nao", "sim"))
plot(x = new$n, y = new$mpg, type = "n", main = "Resíduo por grupo cilindros", xlab = "", ylab = "milhas", xaxt = "n")
abline(h = unique(medias$media), col = c('blue', 'chartreuse3', 'red'))
#8cyl auto
points(x = new[(new$am == 1) & (new$cyl == 8),]$n, y = new[new$am == 1 & new$cyl == 8,]$mpg, pch = 2, col = 'blue')
#8cyl manual
points(x = new[(new$am == 0) & (new$cyl == 8),]$n, y = new[new$am == 0 & new$cyl == 8,]$mpg, pch = 1, col = 'blue')
#6cyl auto
points(x = new[(new$am == 1) & (new$cyl == 6),]$n, y = new[new$am == 1 & new$cyl == 6,]$mpg, pch = 2, col = 'chartreuse3')
#6cyl manual
points(x = new[(new$am == 0) & (new$cyl == 6),]$n, y = new[new$am == 0 & new$cyl == 6,]$mpg, pch = 1, col = 'chartreuse3')
#4cyl auto
points(x = new[(new$am == 1) & (new$cyl == 4),]$n, y = new[new$am == 1 & new$cyl == 4,]$mpg, pch = 2, col = 'red')
#4cyl manual
points(x = new[(new$am == 0) & (new$cyl == 4),]$n, y = new[new$am == 0 & new$cyl == 4,]$mpg, pch = 1, col = 'red')
segments(y0 = medias[medias$acima == 'nao',]$mpg,
y1 = medias[medias$acima == 'nao',]$media,
x0 = medias[medias$acima == 'nao',]$n,
x1 = medias[medias$acima == 'nao',]$n)
segments(y0 = medias[medias$acima == 'sim',]$mpg,
y1 = medias[medias$acima == 'sim',]$media,
x0 = medias[medias$acima == 'sim',]$n,
x1 = medias[medias$acima == 'sim',]$n,
lty = 3)
text(x = c(7, 7, 24), y = c(28, 21, 14), labels = c("Média 4 cilindros", "Média 6 cilindros","Média 8 cilindros"), col = c('red', 'chartreuse3', 'blue'))
legend(x = 17, y = 32.5, legend = c("Automático", "Manual"), pch = c(1, 2))