如何计算符合R编程中特定条件的行数?

时间:2017-05-01 21:01:49

标签: r

在这个数据框中,我试图在< 5 years group中找到右手击球手的数量,而不是简单地手动计算。这是一个数据样本:

Status Handed <5 yrs Right <5 yrs Right <5 yrs Left

如何使用R函数代替计数呢?

3 个答案:

答案 0 :(得分:1)

你可以尝试:

table(df$Handed[df$Status == "<5 yrs"])

或者,如果您想要根据“状态”类别进行完整细分,请执行以下操作:

table(df$Handed, df$Status)

答案 1 :(得分:0)

计算内容的标准解决方案是sum。在这种情况下,

sum(df$Handed[df$Status == "<5 yrs"] == "Right")

为了计算一个条件发生的次数,sum应该是您的首选。

table,如果你想要所有可能性的计数,在Yannis的答案中演示是有用的,例如,table(df$Handed[df$Status == "<5 yrs"])给出左和右的计数(以及手中列中的任何其他内容,以及它也是交叉制表,例如,with(df, table(Handed, Status))将给出每个状态类别的惯用手数。

答案 2 :(得分:0)

**length(df[df$Status=='<5 yrs' & df$Handed == 'Right',])** 

这里df是您正在使用的数据框的名称。这工作

或使用sqldf包。

**install.packages("sqldf")
**library("sqldf")**
**df$Count=1**
**sqldf("select sum(Count) from df where Status='<5 yrs' and 
  Handed='Right')****