Análise de Dados em R (FNDE) - Módulo 1
Allan Vieira
janeiro de 2018
# criando dois vetores numéricos
x <- sample(seq(1,1.98, by=0.02))
y <- sample(seq(2,2.98, by=0.02))
# plot simples
plot(x,y)
# adicionando titulo
plot(x,y, main="Título")
# adicionando subtitulo
plot(x,y, main="Título \n Subtítulo")
# adicionando Fonte ou subescrito
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU")
# mudando os labels dos eixos
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y")
# modificando a cor dos pontos
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red")
# aumentando o tamanho do ponto ("character or symbol expansion" - cex)
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red", cex= 2)
# modificando o tipo de ponto
# pch = plotting character
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red", cex= 2, pch='|')
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red", cex= 2, pch='.')
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red", cex= 2, pch='p')
plot(x,y, main="Título", sub="Fonte: EU", xlab = "eixo x", ylab = "eixo y",
col="red", cex= 2, pch='a')
# ainda modificando o tipo de ponto
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red", cex= 2, pch='5')
# usando pch numerico - para outros símbolos
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red", cex= 2, pch=2)
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red", cex= 2, pch=3)
# para preencher os círculos: pch=16
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red", cex= 2, pch=16)
# diferenciando ptos de acordo com um grupo existente
# criando fator -- vetor com variável categórica
banco <- factor(rep(c("CEF","BB"), each=25))
# ajustamos o parametro col para apontar para o vetor tipo_estudante
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y",
col=banco, cex= 2, pch=16)
# vamos especificar as cores de caixa - azul e banco do brasil - amarelo
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y",
col=c("blue","yellow")[banco], cex= 2, pch=16)
# o R atribui automaticamente as cores para cada fator !!
# podemos ainda acrescentar uma legenda ao gráfico com a função legend()
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y",
col=c("blue","yellow")[banco], cex= 2, pch=16)
legend(x="topright", legend = levels(banco), col=c("blue","yellow"),
pch=16)
# adicionando linha ao gráfico de dispersão - média da variável y
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y",
col=c("blue","yellow")[banco], cex= 2, pch=16)
abline(h = mean(y)) # h de horizontal
abline(v = mean(x)) # v de vertical
plot(x,y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y",
col=c("blue","yellow")[banco], cex= 2, pch=16)
# adicionando mais pontos ao gráfico:
points(c(1.2, 1.4, 1.8), c(2.2, 2.1, 2.8), col="red", cex=2)
## gráficos de linhas
# note que agora só indicamos um vetor de cada vez para a função plot()!!
plot(x, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="red",type="l")
plot(y, main="Título \n Subtítulo", sub="Fonte: EU", xlab = "eixo x",
ylab = "eixo y", col="blue", type="l")
# colocando mais de uma linha no mesmo gráfico
# antes é necessário criar o grid do gráfico com um range adequado
yrange<-range(c(x,y))
plot(x,type="l",ylim=yrange,col=2)
lines(y,type="l",col=3)
# você pode utilizar o help para alterar as características
#...das linhas também!!
## gráficos de barras - simples
barplot(x)
barplot(y)
# simulando dados
anos <- rep( rep(c("2016","2017"), times=c(17,8)), 2 )
banco <- rep(c("BB", "CEF"), c(36, 14))
df2 <- data.frame(x, y, banco, anos)
# barras EMPILHADAS
freq <- table(df2$banco, df2$anos) # tabela de frequências
# ... mas poderiam ser médias, somas, etc...
barplot(freq, main="Distribuição de alunos por ano e banco",
xlab="Anos", col=c("darkblue","orange"),
legend = rownames(freq))
# barras JUSTAPOSTAS NA VERTICAL
barplot(freq, main="Distribuição de alunos por ano e banco",
xlab="Anos", col=c("darkblue","orange"),
legend = rownames(freq), beside = TRUE)
# barras JUSTAPOSTAS NA HORIZONAL E SEM BOX
barplot(freq, main="Distribuição de alunos por ano e banco",
xlab="Anos", col=c("darkblue","orange"),
legend = rownames(freq), beside = TRUE, horiz = TRUE)
pie(c(1,5,7,10))
pie(table(df2$banco), col = c("darkblue", "orange"))
pie(table(df2$anos), col = c("darkblue", "red"))
Obrigado!!