我有一张数据表格,长这样:
set.seed(1)
n <- 10; p <- 6
dat <- as.data.table(matrix(sample(c(0,1),n*p,replace = TRUE), n, p) )
setnames(dat, letters[1:p])
我想将数据表的子集仅包含列d
,e
,f
所有值大于0
的行。我可以使用以下代码实现:
dat[d > 0 & e > 0 & f > 0]
然而,当我尝试将相同的子集筛选条件表达为以下形式时,会出现错误:
cols <- c("d", "e", "f")
dat[cols > 0]
这该怎么做呢?
谢谢。