使用布尔运算符作为聚合函数

时间:2017-02-22 05:45:37

标签: r aggregate-functions boolean-operations

我尝试使用布尔操作作为函数在两列上执行聚合。作为示例,我想在列2的所有值之间对数据帧df执行布尔AND,其中列1的值是相同的。这是我假设的集合操作:

 test <- aggregate(Col2~Col1, df, &)

嗯,&是一个运算符,而不是一个函数。是否有预定义的AND功能,我可以使用而不是&amp;运算符还是我实际上必须定义一个函数?

当我运行上面的代码时,我收到以下错误消息:

  

错误:意外&#39;&amp;&#39; in&#34; test&lt; - aggregate(Col2~Col1,df,&amp;)

基本上,我想知道最好的方法,不使用任何额外的包。

1 个答案:

答案 0 :(得分:2)

最好分别使用allany代替&|

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))