【问题标题】:count occurences conditional on multiple other columns in r以 r 中的多个其他列为条件计算出现次数
【发布时间】:2018-02-26 06:49:30
【问题描述】:

假设我有一个数据框,其中每个人都表示为具有特定的剂量类别 (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() 和 summarise() 尝试了各种方法,但没有成功。感谢您的任何帮助。

【问题讨论】:

    标签: r matrix count dplyr


    【解决方案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
    

    【讨论】:

    • 感谢您的直截了当和有帮助的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 2021-10-24
    相关资源
    最近更新 更多