【发布时间】:2020-12-15 19:38:53
【问题描述】:
我有一个循环检查每个 Zipcode[i] 是否等于 Zipcode[j],其中 Zipcode[j] 的条目有一些 NA。如果 Zipcode[ j ] 与列表 urbanZips 中的任何 Zipcode 匹配,我只需要 Urban 的虚拟变量取 1。
我试过了
for(i in 1:end){
for(j in 1:end_1){
if(urbanZips[i]==data_individual$Zipcode[j]) data_individual$Urban=1
}
}
我也试过了
for(i in 1:end){
for(j in 1:end_1){
if(urbanZips[i]==data_individual$Zipcode[j]){
data_individual$Urban[j]=1
} else {
data_individual$Urban[j]=0
}
}
}
对于两者,我都会收到Error in if (urbanZips[i] == data_individual$Zipcode[j]) data_individual$Urban = 1: missing value where TRUE/FALSE needed
我知道有 NA,但也可能有一些缺失值。有接近一百万个观测值。
【问题讨论】:
-
使用
is.na来检查NA。可能你这里不需要循环 -
请使用
dput添加数据并显示相同的预期输出。请阅读有关how to ask a good question 的信息以及如何提供reproducible example。
标签: r loops for-loop if-statement