基于R中的每个分类数值从数据集中提取所有值

Extracting all value from a data set based for every categorical numerical value in R

我有一个包含任意行数和两个 columns:a 和 b 的数据集。我想找到 b 的特定值的 a 值的数量。如果给出下面的数据集,我希望 a1 = 2,a2 = 1 为 b1 的设定值。

  a   b
  1   1
  1   1
  2   1
  2   2
  3   2
  3   2

我试过并有效的代码:

 data[a == 1 & b == 1, list(b = length(b))]

无效代码:

data[a == c(1,2) & b == 1, list(b = length(b))]

如何获取一组 b 值的 a 的所有值?

预期数据输出:

    b1 
a1  2
a2  1
a3  0
etc.     

感谢 akrun 的代码:

library(data.table)
table(as.integer(data$a),data$b=='b1')[,2]

确保您的 [,2] 与您的 'b' 列匹配。
此外,as.integer() 按顺序排列值。

我们可以使用table

 table(within(data, b<-b==1))[,'TRUE', drop=FALSE]

编辑:包括@Frank 的建议。