假设我有一个数据框,其中每个人都被表示为具有特定剂量类别(1-4)和特定后续类别(1-7)。
dose_followup = data.frame(
dose = c(3,1,2,2,4,3,1,4,1,3,3,2,4,1,3,3),
followup = c(2,4,2,1,6,2,7,3,6,3,5,5,6,4,2,2))
如何计算共现次数并存储?例如,剂量== 3发生,随后== 2总共4次。我想进行计数(即4)并将其打印或将值4存储在矩阵的单元格中,对应于剂量== 3并跟进== 2.
我的实际数据框很大,但它只有4个剂量类别和7个后续类别。所以输出矩阵很小。
我尝试过使用group_by()和summarize()的各种方法,但没有成功。感谢您的任何帮助。
答案 0 :(得分:1)
一个简单的table
会这样做:
table(dose_followup)
结果:
followup
dose 1 2 3 4 5 6 7
1 0 0 0 2 0 1 1
2 1 1 0 0 1 0 0
3 0 4 1 0 1 0 0
4 0 0 1 0 0 2 0
如果您坚持使用tidyverse
,可以使用
dose_followup %>% group_by(dose, followup) %>% summarise(n())
结果:
1.00 4.00 2
1.00 6.00 1
1.00 7.00 1
2.00 1.00 1
2.00 2.00 1
2.00 5.00 1
3.00 2.00 4
3.00 3.00 1
3.00 5.00 1
4.00 3.00 1
4.00 6.00 2