答案 0 :(得分:1)
如果您的数据存储在名为df
的数据框中,请尝试以下操作:
library(dplyr)
df %>% group_by(diagnosis, age, quatity) %>% summarise(n())
这将为您提供一个data.frame
,其中包含在给定年龄和给定“quatity”下每次诊断的出现次数。请确保后者拼写正确。
例如,使用mtcars
数据集:
mtcars %>% group_by(cyl, vs, carb) %>% summarise(n())
Source: local data frame [11 x 4]
Groups: cyl, vs [?]
cyl vs carb `n()`
<dbl> <dbl> <dbl> <int>
1 4 0 2 1
2 4 1 1 5
3 4 1 2 5
4 6 0 4 2
5 6 0 6 1
6 6 1 1 2
7 6 1 4 2
8 8 0 2 4
9 8 0 3 3
10 8 0 4 6
11 8 0 8 1
在这里,第一行告诉您只有一辆车cyl = 4, vs = 0, carb = 2
,而且有5辆车(cyl, vs, carb) = (4, 1, 1)
。如果您希望将列添加到旧版data.frame
,请使用mutate
代替summarise
。
这类操作通常称为split-apply-combine
。值得一读的是它们。
仅供参考:这个问题曾经是“如何在R或Weka中找到我属性的发生率?”只有在我提供了R的答案之后,它才被改为Weka。