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

Using boolean operator as a function in aggregate

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

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

嗯,& 是运算符,不是函数。是否有我可以使用的预定义 AND 函数来代替 & 运算符,或者我实际上必须定义一个函数?

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

Error: unexpected '&' in "test <- aggregate(Col2~Col1, df, &)

基本上,我想知道在不使用任何额外包的情况下执行此操作的最简洁方法。

最好分别用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))