일부 일반 데이터가있는 경우. 내가 시도하고 사용하는 경우 geom_text(... aes(label = paste(round(..count../sum(..count..)*100),"%"))
facet_grid 내의 백분율 레이블 인쇄
나는 각 격자 요소 내의 각 z
비율을 (AE, 수, AF 등) 인쇄 걸려
dx <- data.frame(x = c(sample(letters[1:4], 1000, replace=TRUE)),
y = c(sample(letters[5:7], 1000, replace=TRUE)),
z = c(sample(1:10, 5000, replace=TRUE)))
dx$z <- as.factor(dx$z)
d <- ggplot(dx, aes(z, fill=z)) +
geom_bar() +
facet_grid(y~x)
d
..
나는 같은 비율을 얻을 총 Z의 기능
내가 읽은 것에서 플로팅하기 전에 백분율을 계산하는 것이 더 쉽습니다.
이 question에서 사용 된 나는,ddply
기능을 사용하여 시도
,
을하지만 내 데이터의 길이를 변경합니다. 다음
d <- ggplot(dx,
aes(z, fill =z)) +
geom_bar() +
facet_grid(y ~ x)+
geom_text(position = "identity", aes(label = paste(round(m$pct), "%")),
color = "black", y = 40) +
scale_x_discrete(drop=F)
음모를 시도
m = ddply(data.frame(table(df)), .(x, y), mutate, pct = round(Freq/sum(Freq) * 100, 1))
나에게 오류
Error: Aesthetics must either be length one, or the same length as the dataProblems:paste(round(m$pct), "%")
을주는 경우 어떤 도움을 크게 그것은 geom_text
내 명령이나 ddply
사용할 수있는 경우'(난 당신이 측면의 많은 및 z의 수준이 특히,이 단지 N (%)을 보여주기 위해 많은 양의 잉크를 생각 할) dplyr'을 사용하면 그룹화 된'z' 퍼센트를 얻을 수 있습니다 :'dx %> % group_by (x, y) %> % summarize (pct = n()/sum (z))' – hrbrmstr