使用data.table按多个条件对数据框进行子集

时间:2015-12-30 20:06:46

标签: r data.table

假设我有以下代码:

library(data.table)
#read in data
data = fread("C:/Users/lar2/Desktop/Science/test.tsv")

我知道如何使用一个元素对数据框进行子集化:

data_sub = data[data$V1==1]

假设我有一个清单:

list = c(1,2,3,4,1,55,66)

伪代码:

data_sub = data[data$V1 in list]

如何将数据框子集化为仅包含数据$ V1在列表中的行?

2 个答案:

答案 0 :(得分:1)

我们可以使用%in%

data[V1 %in% list]

或我们可以set'键'作为' V1'

setkey(data, 'V1')[list]

答案 1 :(得分:0)

只需使用dplyr添加备选方案:

list = c(1,2,3,4,1,55,66)

filter(data, list)