在R中具有多个标准的Countif

时间:2016-04-01 11:33:38

标签: r if-statement count

我想计算两个标准匹配的所有行。我的方法是:

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。如果匹配多个标准,我怎么能计算行?

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函数。