我有一个应用逻辑测试的数据框:任何列是否为TRUE?
x=data.frame(label=c('a','b','c'),outcome1=c(TRUE,FALSE,FALSE),outcome2=c(FALSE,FALSE,TRUE),outcome3=c(TRUE,FALSE,FALSE))
x=transform(x,result=any(outcome1,outcome2,outcome3))
x
# label outcome1 outcome2 outcome3 result
# 1 a TRUE FALSE TRUE TRUE
# 2 b FALSE FALSE FALSE TRUE
# 3 c FALSE TRUE FALSE TRUE
我不明白为什么第2行的结果为TRUE,因为并非所有列条款都为真。
any(FALSE,FALSE,FALSE)
FALSE
在这种情况下应用“any”的正确方法是什么?
答案 0 :(得分:1)
您的代码计算
any(c(TRUE,FALSE,FALSE),c(FALSE,FALSE,TRUE),c(TRUE,FALSE,FALSE))
并回收结果以填充该列。