为什么这两个值都显示为 100%?
Why are both of these values showing up as 100%?
我正在尝试制作饼图,第一步是计算每个部分的实际百分比份额。我以为我应该可以使用 mutate
但它给了我 100% 的全面:
starwars %>%
group_by(gender) %>%
count() %>%
mutate(percent = n / sum(n) * 100)
我希望看到计算出的百分比,如下所示:
gender n percent
female 19 22
hermaphrodite 1 1
male 62 71
none 2 2
NA 3 3
但是每一行似乎都是 100%:
gender n percent
female 19 100
hermaphrodite 1 100
male 62 100
none 2 100
NA 3 100
我需要在这里更改什么才能得到 n 之和的百分比?
您需要先取消分组,否则您将进行 sum(n)
分组。
starwars %>%
group_by(gender) %>%
count() %>% ungroup() %>%
mutate(percent = n / sum(n) * 100)
如评论中所述,替代结构为:
starwars %>%
group_by(gender) %>%
summarise(n=n(), percent = n / nrow(.) * 100)
严格来说,mutate 将百分比添加到原始小标题的每一行。 summarize 给出请求的摘要。
我正在尝试制作饼图,第一步是计算每个部分的实际百分比份额。我以为我应该可以使用 mutate
但它给了我 100% 的全面:
starwars %>%
group_by(gender) %>%
count() %>%
mutate(percent = n / sum(n) * 100)
我希望看到计算出的百分比,如下所示:
gender n percent
female 19 22
hermaphrodite 1 1
male 62 71
none 2 2
NA 3 3
但是每一行似乎都是 100%:
gender n percent
female 19 100
hermaphrodite 1 100
male 62 100
none 2 100
NA 3 100
我需要在这里更改什么才能得到 n 之和的百分比?
您需要先取消分组,否则您将进行 sum(n)
分组。
starwars %>%
group_by(gender) %>%
count() %>% ungroup() %>%
mutate(percent = n / sum(n) * 100)
如评论中所述,替代结构为:
starwars %>%
group_by(gender) %>%
summarise(n=n(), percent = n / nrow(.) * 100)
严格来说,mutate 将百分比添加到原始小标题的每一行。 summarize 给出请求的摘要。