R:基于逻辑检查计数行(< 0>> 0)

时间:2016-04-15 05:57:15

标签: r dataframe count

对于给定的dt,我想通过比较另一列来计算一些特定的行。

这就是我的意思;

library(data.table)
dt <- data.table(a=c(0.98,-0.97,0.95,-0.92,-0.82,-0.7,0.6,-0.8,0.4,0.92),b=c(0.98,-0.92,-0.94,0.91,-0.90,0.7,-0.67,-0.62,-0.66,0.84))


#> dt
#        a     b
# 1:  0.98  0.98
# 2: -0.97 -0.92
# 3:  0.95 -0.94
# 4: -0.92  0.91
# 5: -0.82 -0.90
# 6: -0.70  0.70
# 7:  0.60 -0.67
# 8: -0.80 -0.62
# 9:  0.40 -0.66
#10:  0.92  0.84

我想只计算条件a&gt; 0&amp; b&lt; 0例。因此,计数应为3

3 个答案:

答案 0 :(得分:4)

我们可以使用data.table方式

dt[a >0 & b<0, .N]
#[1] 3

答案 1 :(得分:3)

你可以用:

sum(with(dt, a > 0  & b <0))

答案 2 :(得分:2)

这是简单的过程

sum(with(dt, a > 0  & b <0))