我想将百分比分别分为韩国和台湾。我不知道用ddply
功能单独计算百分比。
plot<-ddply(
data,
c("Country", "Here.is.usually.much.garbage.distributed."),
summarise,
n=length(Here.is.usually.much.garbage.distributed.),
percent=((n/sum(plot$n))*100)
)
有人知道该怎么做吗?
考虑切换到dplyr
而不是plyr
。尝试使用:
library(dplyr)
data %>%
group_by(Country, `Here.is.usually.much.garbage.distributed.`) %>%
summarise(n = n()) %>%
mutate(percent = n/sum(n) * 100)
我们可以使用data.table
library(data.table)
setDT(data)[, .(N = .N), by = .(Country, `Here.is.usually.much.garbage.distributed.`)][,
percent := N/sum(N) * 100][]
使用ddply
,我们得到计数并在外面计算百分比
library(plyr)
out <-ddply(
data,
c("Country", "Here.is.usually.much.garbage.distributed."),
summarise,
n=length(`Here.is.usually.much.garbage.distributed.`)
)
out$perc <- out$n/sum(out$n) * 100