检查条件后需要添加一列并分配一个值

时间:2018-12-20 12:28:12

标签: r

我有一个数据列(final1),其中的列很少

  for(i in final1$Total.Tyres)
  {
   if(final1$Total.Tyres[i] >= 500){
    final1$flag_tyres[i]<-1
   } else {
    final1$flag_tyres[i]<-0
   }
  }

我需要检查轮胎是否大于500,如果需要分配1并添加新列flag_tyres 当尝试上面的代码给我下面的错误

 Error in if (final1$Total.Tyres[i] >= 500) { : 
  missing value where TRUE/FALSE needed

2 个答案:

答案 0 :(得分:0)

您可能要考虑对代码进行矢量化处理,而不是使用for循环遍历行,节省键入时间,麻烦且速度更快:

final1$flag_tyres <- ifelse(final1$Total.Tyres >= 500, 1, 0)

答案 1 :(得分:0)

简单错误,应该在外部循环中为1:length(final1$Total.Tyres)。或者,您可以将结果矢量化,如前所述。