Roteiro Dirigido


Para acompanhar o roteiro dirigido, faça o download das notas de aula da Oficina de visualização de dados com R – download

## Escola Politecnica da Universidade de Sao Paulo
## Oficina de Visualizacao de Dados com R
## Autor: Andre F. M. Batista
## Disponivel em: http://andrefmb.sdf.org/cursoR/


### instalacao de bibliotecas

# install.packages('ggplot2')
# install.packages('lsr')
# install.packages('psych')
# install.packages('reshape2')
# install.packages('ggthemes')

### carrrega as bibliotecas

library("ggplot2")

### define o diretorio de trabalho

setwd("C:\\cursoR")

### verifica o diretorio de trabalho
getwd()


### carrega dataset Diamonds
data("diamonds")


### Verifica o dataset Diamonds
?diamonds
View(diamonds)


###  Grafico de dispersao (slide 39)
### Scatterplot

ggplot (diamonds , aes (x= carat , y= price )) + geom_point ()



#### Grafico de barras (slide 43)

ggplot (diamonds, aes(x=clarity, fill=cut)) + geom_bar()


#### Mais atribututos a dispersao (slide 45)

ggplot (diamonds, aes(x=carat, y=price, color=clarity)) +
  geom_point()


#### Dispersao com carat, price e color

ggplot (diamonds, aes(x=carat, y=price, color=color)) +
  geom_point()


#### Outro exemplo

ggplot (diamonds, aes(x=carat, y = price, color=clarity, size=cut)) +
  geom_point()




### Aplicando uma regressão



ggplot(diamonds, aes(x=carat, y=price)) +
  geom_point() +
  geom_smooth()

### metodo linear de regressao


ggplot(diamonds, aes(x=carat, y=price)) +
  geom_point() +
  geom_smooth(method="lm")


##### Entendendo AES e GEOM

#Toda informação que você passa dentro do comando inicial ggplot()
#é repassada para os geoms() seguintes.
#Assim, as estéticas que você mapeia dentro do comando ggplot()
#valem para todas as comadas subsequentes; por outro lado,
#as estéticas que você mapeia dentro dos geoms valem apenas
#para aquele geom especificamente.


### Exemplo:


## como temos o atributo color, haverá curvas por cores
ggplot(diamonds, aes(x=carat, y=price, color=clarity)) +
  geom_point() + geom_smooth()

### agora podemos manter a cor restrita aos pontos
ggplot(diamonds, aes(x=carat, y=price)) +
  geom_point(aes(color=clarity)) + geom_smooth()


###### FAZENDO TESTE COM TEMAS
library(ggthemes)
# Tema The Economist
ggplot(diamonds, aes(x=carat, y=price)) +
  geom_point(aes(color=clarity)) +
  geom_smooth() +
  theme_economist() +
  scale_color_economist()

# Tema The Wall Street Journal

ggplot(diamonds, aes(x=carat, y=price)) +
  geom_point(aes(color=clarity)) +
  geom_smooth() +
  theme_wsj() +
  scale_color_wsj()


### vendo dois graficos juntos

# install.packages('gridExtra')
# library('gridExtra')

grafico <- ggplot(diamonds, aes(x=carat, y=price)) +
  geom_point(aes(color=clarity)) +
  geom_smooth()


g1 <- grafico + theme_economist() + scale_color_economist()
g2 <- grafico +  theme_wsj() + scale_color_wsj()
g3 <- grafico + theme_tufte()
g4 <- grafico +  theme_stata() + scale_color_stata()

grid.arrange(g1, g2, g3, g4)


### Faceting (Slide 57)

ggplot (diamonds, aes(x=carat, y=price, color=cut)) +
geom_point() +
facet_wrap(~ clarity)


ggplot (diamonds, aes(x=carat, y=price, color=cut)) +
geom_point() + facet_grid(color ~ clarity)


### titulos e labels

ggplot (diamonds, aes(x=carat, y=price)) +
  geom_point() +
  ggtitle('My Scatter Plot')



ggplot (diamonds, aes(x=carat, y=price)) +
  geom_point() +
  ggtitle('My Scatter Plot') +
  xlab("Weight (carats") +
  ylab("Price (dollars)")



ggplot (diamonds, aes(x=carat, y=price)) +
  geom_point() +
  ggtitle('My Scatter Plot') +
  xlab("Weight (carats") +
  ylab("Price (dollars)") +
  xlim(0,2) +
  ylim(0, 10000)


########### HISTOGRAMAS


ggplot (diamonds, aes(x=price)) +
  geom_histogram()

ggplot (diamonds, aes(x=price, fill=clarity)) +
  geom_histogram()

ggplot (diamonds, aes(x=price, fill=clarity)) +
  geom_histogram() + theme_stata() + scale_color_stata()

ggplot (diamonds, aes(x=price)) +
  geom_histogram(binwidth=2000)

ggplot (diamonds, aes(x=price)) + geom_histogram(binwidth = 20) +
  facet_wrap(~ clarity)

ggplot (diamonds, aes(x=price)) + geom_histogram(binwidth = 20) +
  facet_wrap(~ clarity, scale="free_y")

ggplot (diamonds, aes(x=price, fill=cut)) + geom_histogram(binwidth = 20) +
  facet_wrap(~ clarity)


### Density Curve

ggplot(diamonds, aes(x=price)) + geom_density()

ggplot(diamonds, aes(x=price, color = cut)) + geom_density()


ggplot(diamonds, aes(x=price, fill = cut)) + geom_density()


#### Boxplot
ggplot(diamonds, aes(x=color, y=price)) + geom_boxplot()


ggplot(diamonds, aes(x=color, y=price)) + geom_boxplot() + scale_y_log10()

### violinplot


ggplot(diamonds, aes(x=color, y=price)) + geom_violin() + scale_y_log10()



######## QPLOT

x=rnorm(1000)
qplot(x)
y=rnorm(1000)
qplot(x,y)

qplot(x,y) + geom_smooth()