我想计算两个标准匹配的所有行。我的方法是:
a <- c(2,1,2,2,3,4,2,1,9)
b <- c(2,1,2,1,4,4,5,6,7)
c <- data.frame(a,b)
sum((c['a']==2) && (c['b']==2))
但由于某种原因,这给了1而不是2。如果匹配多个标准,我怎么能计算行?
答案 0 :(得分:3)
我认为您使用的是错误的&符号运算符。试试这个:
sum(c['a']==2 & c['b']==2)
[1] 2
答案 1 :(得分:0)
您也可以在data.frame
中进行子集化,然后找到它的行。
nrow(c[a==2 & b==2, ])
# [1] 2
P.S:建议不要将c
用作变量,因为它也是基本R函数。