使用循环在R中创建计数器

时间:2017-03-25 16:18:17

标签: r

我是R的初学者并搜索论坛,但没有找到这个问题的答案。我试图在R中创建一个循环,用于计算数据帧中2行之间是否满足条件。我知道这不是一种有效的方法,但它适用于课堂作业。我的问题是我的代码创建了一个无限循环,而不是给我计数器输出,我不清楚如何解决它。我非常感谢任何建议。代码如下:

counter=0
for (i in 1:nrow(dataframe))
  {if (dataframe$column1[i]>dataframe$column2[i]==TRUE)
{
counter=counter+1}
}
print(counter)

1 个答案:

答案 0 :(得分:1)

如果您只想知道第1列高于第2列的次数,则不必使用循环:

counter <- sum(dataframe$column1>dataframe$column2)

sum(dataframe$column1>dataframe$column2)在条件验证时为您提供长度为nrow(dataframe)TRUEFALSE的向量,并且R按元素和vectores执行此元素。

然后,当您sum时,TRUE被视为1,FALSE被视为0.因此,它会为您提供在两列之间验证条件的次数。< / p>