我想计算数据框中每个字符colname的百分比,但百分比不好。
我的代码:
for(i in names(which((sapply(creditDF,class) == "character")))){
distribution <- creditDF %>%
group_by_at(.vars = i) %>%
summarise(value = n(),
percent = value/sum(value)) %>%
select(label = i, value, percent)
}
Résult:
label value percent
<chr> <int> <dbl>
1 chéquier autorisé 415 1
2 chéquier interdit 53 1
通常对于第一行,百分比为415/468 * 100.
如何解决问题?
感谢您的帮助。
答案 0 :(得分:0)
在这里,我们需要ungroup
来获取整个&#39;值的sum
。列即
-- %>%
group_by_at(.vars = i) %>%
summarise(value = n() %>%
ungroup() %>%
mutate(percent = value/sum(value)) %>%
select(label = i, value, percent)
}