【发布时间】:2022-02-03 06:39:26
【问题描述】:
我正在使用iris 数据集来学习如何使用dplyr,并尝试创建一个如下所示的相对频率表:
| Petal.Width | .1 | .2 | .3 | .4 | .5 | .6 | 1 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Species | |||||||||||||||
| setosa | 0.10 | 0.58 | 0.14 | 0.14 | 0.02 | 0.02 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| versicolor | 0 | 0 | 0 | 0 | 0 | 0 | 0.14 | 0.06 | 0.10 | 0.26 | 0.14 | 0.02 | 0.20 | 0.04 | 0.06 |
我正在努力按物种对观察结果进行分组,然后逐个物种产生相对频率。
我猜它必须是使用 group_by、mutate 和 count 的东西,但我可以在网上找到的最接近的东西是:
my_data %>%
group_by(Petal.Width,Species) %>%
summarise(n = n()) %>%
ungroup %>%
mutate(total = sum(n), rel.freq = n / total)
这仍然不是我想要的,因为它是观察的总数,而不是每个物种的数量。
非常感谢任何帮助!
【问题讨论】: