我尝试使用布尔操作作为函数在两列上执行聚合。作为示例,我想在列2的所有值之间对数据帧df执行布尔AND,其中列1的值是相同的。这是我假设的集合操作:
test <- aggregate(Col2~Col1, df, &)
嗯,&
是一个运算符,而不是一个函数。是否有预定义的AND功能,我可以使用而不是&amp;运算符还是我实际上必须定义一个函数?
当我运行上面的代码时,我收到以下错误消息:
错误:意外&#39;&amp;&#39; in&#34; test&lt; - aggregate(Col2~Col1,df,&amp;)
基本上,我想知道最好的方法,不使用任何额外的包。
答案 0 :(得分:2)
最好分别使用all
或any
代替&
或|
aggregate(Col2~Col1, df, all)
df <- data.frame(Col1 = rep(LETTERS[1:3], each = 3),
Col2 = c(TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE))