如何计算具有多个观察值/行的,在列的不同行中具有值组合的参与者的数量?

我有一个数据集,每个参与者都有多个观察值(列名= id)。在每个观察结果中,为每个参与者进行诊断(列名=诊断)。

我想计算出具有特定诊断组合的参与者人数。

请在下面找到R代码的可复制示例。我试图按ID对数据进行分组,按两次诊断的组合进行过滤,然后计算参与者的数量,但这未返回任何数据。

您看到任何解决方案了吗?

谢谢!

library(tidyverse)
id <- c(1,1,1,2,2,2,3,3,3)
diagnosis <- c("a101", "b101", "a101",
               "c101", "c101", "c101",
               "b101", "a101", "b101")
data <- data.frame(id, diagnosis, stringsAsFactors = FALSE)

n_a101_and_b101 <- data %>%
 group_by(id) %>%
 filter((substr(diagnosis,1,4)=="a101") & 
        (substr(diagnosis,1,4)=="b101")) %>%
 tally()

n_a101_and_b101
无疑

我怀疑有一个更好的tidyverse风格的管道答案,但是我可以通过set操作来做到这一点:

获取诊断_1的集合和诊断_2的集合,然后找到相交点,即两个集合中都存在的行。

a <- filter(data, diagnosis == "a101")
b <- filter(data, diagnosis == "b101")
intersect(a$id, b$id)
[1] 1 3
length(intersect(a$id, b$id))
[1] 2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何查找在另一列的不同行中具有多个值的列值的总长度

如何查找另一列的不同行中具有多个值的列值的总长度BY LOCATION

具有参与者ID和提示的列:将它们分为R中的两个不同列

如何选择某列具有多个不同值的行?

如何在熊猫数据框中的列中组合具有不同值的行

根据其他行中具有相同值的不同行的文本值的组合,创建新的熊猫行

如何在具有不同行的一列上插入多个值?

如果 2 列在不同行上具有相同的值,如何删除 Excel 行?

获取在“位置”列中具有相同不同值组合的 ID 数量

选择不同行中的列必须具有完全相同的值的行

如何计算一列中具有不同值的行

SQL-如何选择两列中具有相同值的不同行

参与者如何使用 tidyverse 将第一行中的值应用于所有后续行

如何显示行中具有不同值的列?

将具有相同行和列但单元格值不同的熊猫中的数据框组合

如何组合某些列中具有相同值的值

计算具有多个值的列

如果值在不同的列中具有相同的组合,则删除行

选择希望列中的值具有多个值的行

如何创建每行具有观察值数量的输出?

在具有所有列值的单行中显示记录的不同行

SQL-如何计算不同值(付款)的数量,在它们具有另一个共同的列值(到期日期)的行总和之后

具有持久参与者的 Akka Sharding 的背压

仅选择具有多行的参与者

SQL:计算具有多个条件的不同列组合

如何检查同一 ID 在不同行中是否具有不同值?

如果一个参与者在不同的行中有多个条目,如何可视化数据?

如何部署具有选定参与者专有的业务逻辑的cordapp?

如何在R函数中具有不同数量的具有默认值的参数?