【发布时间】:2021-02-11 22:10:16
【问题描述】:
我有数百个数据表,例如下面给出的示例,它们的行和列完全相同。我想将所有数据表中的选定列(例如 ID、FDR 和 LogFC)合并(不是通过 rbindlist)到一个组合的 data.table 中。
ID P FDR LogFC animals
1: A 1.568780e-01 2.5e-01 0.3348365 dog
2: B 4.960651e-05 2.6e-04 0.5768812 dog
3: C 3.123122e-01 4.2e-01 0.1872491 dog
4: D 8.583002e-07 8.3e-06 0.8387016 dog
5: E 2.776600e-03 8.4e-03 0.6495237 dog
6: F 3.925375e-06 3.3e-05 1.2510581 cat
7: G 4.248726e-07 4.7e-06 1.4029001 cat
8: H 1.497479e-03 4.8e-03 0.7471876 cat
9: I 3.335468e-07 4.0e-06 1.2297170 cat
10: J 5.889612e-04 2.2e-03 1.0751952 cat
我尝试使用以下(来自https://stackoverflow.com/posts/39561045/revisions;)
DT.comb<-Reduce(function(...) merge.data.table (..., by="ID", all = TRUE), dt.list, allow.cartesian=T)
但我不确定如何将列选择传递给 merge.data.table。虽然我可以通过使用rbindlist 来实现这一点,删除不需要的列(例如 P 和动物)然后 dcast 表格以将其转换为宽格式,如果我可以使用merge.data.table 或其他方法,我会很棒,如果可能的。我非常感谢您对此的任何意见。
【问题讨论】:
标签: r data.table