我有一个数据帧(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
您可能需要考虑将代码向量化,而不是使用for
在行上循环,这样可以节省打字、麻烦,而且速度更快:
final1$flag_tyres <- ifelse(final1$Total.Tyres >= 500, 1, 0)
简单的错误,应该是外循环中的1:length(final1$Total.Tyres)
。或者,您可以将结果矢量化,正如已经回答的那样。