<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:large;color:#073763">Amigos de R, </div><div class="gmail_default" style="font-family:monospace,monospace;font-size:large;color:#073763"><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:large;color:#073763">Estou num esforço de tentar aprender a usar o tidyverse. Gostaria de manter a consistência de um relatório que estou trabalhando com gráficos do ggplot. Mas há um particular gráfico de barras que não estou conseguindo fazer. Alguém pode me ajudar a fazer o gráfico no ggplot + geom_bar? Segue abaixo um exemplo como eu faria com o graphics.</div><div class="gmail_default" style="font-family:monospace,monospace;font-size:large;color:#073763"><br></div># Preparando os dados simulados<br>tab <- array(c(92,74,11,0,0,94,98,10,1,0,<br>               83,56,13,2,0,96,68,9,7,0,<br>               46,28,7,1,1,54,59,16,7,0,<br>               26,20,3,0,0,36,32,16,4,0,<br>               8,2,0,0,0,3,3,1,0,0), c(5, 2, 5))<br>dimnames(tab) <- list(c("Definitively satisfied",<br>                        "Satisfied",<br>                        "Little satisfied",<br>                        "Little dissatisfied",<br>                        "Definitively dissatisfied"),<br>                        c("Surface 1","Surface 2"),<br>                      c(1:5))<br>names(dimnames(tab)) <- c("Satisfaction","Intervention","Visit")<br>tab<br>a <- epitools::expand.table(tab)<br>a$Visit <- paste0("Visit ", a$Visit)<br>head(a)<br><br># Fazendo as tabelas ja com os percentuais<br>x <- sapply(unique(a$Visit), function(i) prop.table(table(a$Satisfaction[a$Visit==i],a$Intervention[a$Visit==i]),2), simplify = FALSE)<br><br># Criando o objeto height do barplot <br>y <- x[[1]] ; for(i in 2:length(x)) {y <- cbind(y,x[[i]])}<br>ramp <- colorRampPalette(c("darkgreen","red"))<br><br># Criando o gráfico<br>z <- barplot(y, beside = T, col = ramp(5),<br>             legend = T,<br>             args.legend = list(x="top",xpd=NA,inset=-.15,bty="n",cex=.8, ncol = 2),<br>             axisnames = FALSE)<br>axis(2, at = seq(0,1,.025),labels = FALSE, tck = -.01)<br>text(z[3,], -.005, colnames(y), cex = .5,  srt = 35, xpd = NA, adj = 1, offset = 5)<br>axis(1, at = sapply(seq(0,ncol(z)-2,2),function(i) mean(z[,c(1:2) + i])),labels = unique(a$Visit), line = 1.5, tick = FALSE)<br><div class="gmail_default" style="font-family:monospace,monospace;font-size:large;color:#073763"><span style="font-family:Arial,Helvetica,sans-serif;font-size:small;color:rgb(34,34,34)">sapply(1:ncol(y), function(i) text(x = z[1:5,i], y = y[1:5,i], labels = round(y[1:5,i],2), pos = 3, cex = .5, xpd = NA))</span></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:large;color:#073763"><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:large;color:#073763">Abraço forte a todos,   </div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><font face="'courier new', monospace" style="background-color:rgb(255,255,255)" color="#000066" size="4">Pedro Brasil</font></div></div></div></div></div></div></div></div></div>