将布尔函数应用于R中data.table中的列

时间:2016-10-06 14:29:32

标签: r data.table

我希望找到" AND"或"或"通过在data.table中基于列a进行分组的所有元素。我还没能找到任何我可以使用的图书馆。任何建议都会很棒。感谢。

set.seed(1)
dt <- data.table(a = sample(seq.int(1,100,1),100,replace =TRUE),b = sample(c(TRUE,FALSE),100,replace = TRUE))
# head(dt)
#       a     b
#  1:  27 FALSE
#  2:  38  TRUE
#  3:  58  TRUE
#  4:  91 FALSE
#  5:  21 FALSE
#  6:  90  TRUE

1 个答案:

答案 0 :(得分:1)

也许我们需要

dt[, if(all(b)) .SD , by = a]
dt[, if(any(b)) .SD ,by = a]

如果我们需要提取'a'元素

dt[, if(all(b)) a, by = a]$V1