我有一个任意数量的行和两列的数据集:a和b。我想找到b的特定值的值的数量。如果给出下面的数据集,我希望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))]
如何获取set 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()
按顺序对值进行排名。
答案 0 :(得分:1)
我们可以使用table
table(within(data, b<-b==1))[,'TRUE', drop=FALSE]
编辑:包括@弗兰克的建议。