Salve salve irmãos de R,
Estou batendo a cabeça pra acertar um gráfico de barras. Eu gostaria que
houvesse um grupo de 6 barras (categorias) por visita, ou seja, em cada
janela de visita houvesse 6 barras. Cada barra de uma cor pra poder fazer a
legenda correspondente. E as barras precisariam corresponder com as
frequências das categorias nas visitas. Acho que o problema é que há
algumas categorias que são zero, mas elas deveriam aparecer no gráfico e na
legenda mesmo assim. Mas quando eu consigo fazer as frequências, as cores
ficam ruins e quando eu consigo aproximar as cores as frequências vão
embora. O mais próximo que consegui foi assim:
#Simulando o banco
tab <- array(c(0,0,0,1,34,46,0,0,0,2,24,19,0,0,1,7,6,2), c(6,3))
dimnames(tab) <- list(c("Não informado","Definitivamente
insatisfeito","Insatisfeito","Nem satisfeito, nem
insatisfeito","Satisfeito","Definitivamente satisfeito"), c("Visita 2",
"Visita 3", "Visita 4"))
names(dimnames(tab)) <- c("Classificacao", "Visitas")
tab
df <- epitools::expand.table(tab)
df
levels(df$Classificacao)
prop.table(table(df$Classificacao, df$Visitas),2)
# O grafico
ramp <- colorRampPalette(c("red","green"))
library(tidyverse)
ggplot(df,
aes(x = Classificacao)) +
facet_grid(cols = vars(Visitas)) +
geom_bar(aes(y = after_stat(prop),
fill = Classificacao,
group = 1)) +
scale_y_continuous(labels = scales::percent) +
labs(y = "Percentual da satisfação", x = "", fill = "Satisfação") + #
scale_x_discrete(drop = FALSE) +
scale_fill_discrete(drop = FALSE) +
scale_fill_manual(values = ramp(length(levels(df$Classificacao)))) #
Abraço forte e que a força esteja sempre com voces.
Pedro Brasil
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
mínimo reproduzível.