根据列值对data.table进行子集设置,其中根据序列选择列

时间:2019-07-05 18:34:52

标签: r data.table

假设我在data.table以下

library(data.table)
DT <- data.table(x=sample(letters, 1e6, TRUE), y=rnorm(1e6), v=runif(1e6))

现在我想基于第一列值等于DT的子集letters[1:2]

如果按名称选择,那么这很简单-

DT[x %in% letters[1:2]]

但是我想按位置选择列 ,即第一列或第四列等

下面的代码不起作用

DT[1 %in% letters[1:2]]

关于根据位置选择列的正确语法的任何指针都会有所帮助

1 个答案:

答案 0 :(得分:3)

您可以这样做:

DT[DT[[1]] %in% letters[1:2]]