【发布时间】:2019-10-15 01:53:31
【问题描述】:
如果 data.table 的内容满足条件,我想提取它们。而且我需要一种可以使用 by (或在列组合中以其他方式)的方法。我对 data.table 不是很有经验,并且已经尽力使用 .SDcol 以及我能想到的其他内容。
示例:我经常有多个对象在多个时间点进行观察的数据集。它们还包含在主题内不变的协变量。
dt1 <- data.table(
id=c(1,1,2,2,3,3),
time=c(1,2,1,2,1,2),
meas=c(452,23,555,33,322,32),
age=c(30,30,54,54,20,20),
bw=c(75,75,81,81,69,70)
)
我如何(有效地)选择在 id 内不变的列(在本例中为 id 和 age)?我想要一个可以返回的函数调用
id age
1: 1 30
2: 2 54
3: 3 20
我如何选择在 ID 中确实不同的列(所以放弃年龄)?函数调用应该返回:
id time meas bw
1: 1 1 452 75
2: 1 2 23 75
3: 2 1 555 81
4: 2 2 33 81
5: 3 1 322 69
6: 3 2 32 70
当然,如果您知道解决上述特定示例的函数,我很感兴趣,但我更想知道一般如何做到这一点。在 by=.(id,time) 或其他任何 id 和时间的任意组合内包含两个以上值 > 1000 的列...
谢谢!
【问题讨论】:
标签: r data.table