2016-10-06 35 views
0

我期待通過基於data.table中的列a的分組找到所有元素的「AND」或「OR」。我無法找到任何我可以使用的圖書館。任何建議都會很棒。謝謝。在data.table中的列中應用布爾函數R

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

你有什麼羣體,什麼是你期望的輸出? – Nate

+0

通過與列'a'分組 – theArun

回答

1

也許我們需要

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

如果我們需要提取的 'a' 元素

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