【发布时间】:2021-01-14 19:38:21
【问题描述】:
我正在使用一个 R 包,它根据每个表的标志从数据库中的表中提取数据。如果标志是1,则从该表中提取数据。如果标志是0,则不要提取数据。
提取的数据存储在person_list_df列表中,如下所示
list(structure(list(person_id = 21:25, count = 2:6), class = "data.frame", row.names = c(NA,
-5L)), structure(list(person_id = 24:28, count = 3:7), class = "data.frame", row.names = c(NA,
-5L)))
代码如下
person_list_df = list()
casesANDcontrols_df = list()
list1 <- data.frame("person_id" = 21:25, "count" = 2:6)
list2 <- data.frame("person_id" = 24:28, "count" = 3:7)
person_list_df <- list(list1, list2)
我想做的是
a) 合并/合并所有这些并获得计数总和(针对每个人)
b) 只过滤和存储 count > 4 的人
我尝试了以下方法,但它不起作用
casesANDcontrols_df[[1]] <- do.call(rbind, persons_list_df) # how to sum and apply filter here?
我想合并/合并所有这些并总结他们的计数,最后选择计数> 4的人
我希望我的输出如下所示
casesANDcontrols_df[[1]]
person_id
1 24 #COUNT IS 8
2 25 #COUNT IS 10
3 26 #COUNT IS 5
4 27 #COUNT IS 6
5 28 #COUNT IS 7
caseANDcontrols_df的结构应该如下图所示
【问题讨论】:
标签: r dataframe data.table lapply rbind