Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Custom Data of PDCwR
- ## Leitura dos dados custom data
- custdata <- read.table("C://Mydata/custdata.tsv",header=T,sep="\t")
- ## custdata <- read.table(file.choose(),header=T,sep="\t")
- ## Exame do conjunto de dados custdata
- class(custdata)
- head(custdata)
- dim(custdata)
- str(custdata)
- View(custdata)
- summary(custdata)
- summary(custdata$income)
- summary(custdata$age)
- summary(custdata$income)
- Income = custdata$income/1000
- summary(Income)
- ## Histograma da idade dos consumidores
- library(ggplot2)
- ggplot(custdata) +
- geom_histogram(aes(x=age),
- binwidth=5, fill="gray")
- ## Density plot da renda dos consumidores
- library(scales) #exibe notação em dólares
- ggplot(custdata) + geom_density(aes(x=income)) +
- scale_x_continuous(labels=dollar)
- ggplot(custdata) + geom_density(aes(x=income)) +
- scale_x_log10(breaks=c(100,1000,10000,100000), labels=dollar) +
- annotation_logticks(sides="bt")
- ## Gráfico de barras para o status civil
- ggplot(custdata) +
- geom_bar(aes(x=marital.stat), fill="gray")
- ## Gráfico de barras para o estado de residência
- ggplot(custdata) +
- geom_bar(aes(x=state.of.res), fill="gray") +
- coord_flip() +
- theme(axis.text.y=element_text(size=rel(0.8)))
- statesums <- table(custdata$state.of.res)
- statesums
- statef <- as.data.frame(statesums)
- head(statef)
- colnames(statef)<-c("state.of.res", "count")
- head(statef)
- summary(statef)
- statef <- transform(statef,
- state.of.res=reorder(state.of.res, count))
- summary(statef)
- ggplot(statef)+
- geom_bar(aes(x=state.of.res,y=count),
- stat="identity",
- fill="gray") +
- coord_flip() +
- theme(axis.text.y=element_text(size=rel(0.8)))
- ## Exemplo de plotagem da curva de uma função quadrática
- x <- seq(0,1,by=0.01)
- y <- 0.2*x + x^2
- ggplot(data.frame(x=x,y=y), aes(x=x,y=y)) +
- geom_line()
- ## Exame da relação entre idade e renda
- custdata2 <- subset(custdata,
- (custdata$age > 0 & custdata$age < 100
- & custdata$income > 0))
- cor(custdata2$age, custdata2$income)
- ggplot(custdata2, aes(x=age, y=income)) +
- geom_point() + ylim(0, 200000)
- ggplot(custdata2, aes(x=age, y=income)) +
- geom_point() +
- stat_smooth(method="lm") +
- ylim(0, 200000)
- ggplot(custdata2, aes(x=age, y=income)) +
- geom_point() + geom_smooth() +
- ylim(0, 200000)
- ## Pessoas possuidoras de planos de saúde
- ggplot(custdata2, aes(x=age, y=as.numeric(health.ins))) +
- geom_point(position=position_jitter(w=0.05, h=0.05)) +
- geom_smooth()
- # Nota 1:
- # A variável categória health.ins dever ser convertida a uma variável
- # numérica 0 ou 1 usando-se a função as.numeric()
- # Nota 2:
- # Desde que y só toma valores 0 ou 1, precisamos provocar uma pequena
- # dispersão (jitter) dos dados para podermos ter uma noção de densidade
- # Nota 3:
- # Finalmente adicionamos uma curva suavisadora (LOESS)
- ## Produção de um plot hexbin da idade com a renda
- library(hexbin)
- ggplot(custdata2, aes(x=age, y=income)) +
- geom_hex(binwidth=c(5, 10000)) +
- geom_smooth(color="white", se=F) +
- ylim(0,200000)
- # Nota 1:
- # Carregue o pacote {hexbin}
- # Nota 2:
- # Crie um hexbin com a idade variando em incrementos de 5 anos
- # e a renda em incrementos de $10,000
- # Nota 3:
- # Adicione uma curva suavizadora em branco
- # e suprima a faixa de erro padrão fazendo se=F
- ## Criando diferentes estilos de gráficos de barra
- ggplot(custdata) + geom_bar(aes(x=marital.stat,
- fill=health.ins))
- ggplot(custdata) + geom_bar(aes(x=marital.stat,
- fill=health.ins),
- position="dodge")
- ggplot(custdata) + geom_bar(aes(x=marital.stat,
- fill=health.ins),
- position="fill")
- # Nota 1:
- # A primeira é default, que são barras empilhadas (stacked bar chart)
- # Nota 2:
- # A segunda é opcional, barras lado a lado (side-by-side bar chart)
- # Nota 3:
- # A terceira é opcional, barras cheias (filled bar chart)
- # Esta última é boa para comparação das razões internas a cada nível
- # Plotagem do gráfico de barras com um tapete (rug)
- ggplot(custdata, aes(x=marital.stat)) +
- geom_bar(aes(fill=health.ins), position="fill") +
- geom_point(aes(y=-0.05), size=0.75, alpha=0.3,
- position=position_jitter(h=0.01))
- # Nota 1:
- # Coloque os pontos logo abaixo de y=0, e faça-os ligeiramente
- # transparentes com o parâmetro gráfico alpha
- # Nota 2:
- # Espalhe os pontos ligeiramente com a função jitter ()
- # para melhorar a legibilidade
- ## Plotagem do gráfico de barras sem e com facetas (painéis)
- ggplot(custdata2) +
- geom_bar(aes(x=housing.type, fill=marital.stat ),
- position="dodge") +
- theme(axis.text.x = element_text(angle = 45, hjust = 1))
- ggplot(custdata2) +
- geom_bar(aes(x=marital.stat), position="dodge",
- fill="darkgray") +
- facet_wrap(~housing.type, scales="free_y") +
- theme(axis.text.x = element_text(angle = 45, hjust = 1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement