【发布时间】:2021-05-21 21:41:42
【问题描述】:
我正在筛选数据集并希望将字符串值分配给整数。完成后,我在向量中得到一些等于 0 的值,但我不确定它们来自哪里。我正在取出这个变量的空白值的观察结果,并希望绘制其余的。有什么想法吗?
TexasMLSCounties=TexasMLSCounties[!TexasMLSCounties$X.2==" ",]
MLS=TexasMLSCounties$X.2
MLS=MLS[!TexasMLSCounties$X.2==""]
dput(MLS)
MLSNumber=integer(length=length(MLS))
for (i in 1:length(MLS)) {
if(is.na(MLS))
MLS=FALSE
else{
if(MLS[i]=="NTREIS")
MLSNumber[i]=1
else if(MLS[i]=="HARMLS")
MLSNumber[i]=2
else if(MLS[i]=="SABOR")
MLSNumber[i]=3
else if(MLS[i]=="ACTRIS")
MLSNumber[i]=4
else if(MLS[i]=="CTXMLS")
MLSNumber[i]=5
}
}
dput(MLS)
c("MLS", "NTREIS", "HARMLS", "NTREIS", "SABOR", "HARMLS", "ACTRIS",
"ACTRIS", "SABOR", "ACTRIS", "NTREIS", "HARMLS", "NTREIS", "ACTRIS",
"ACTRIS", "NTREIS", "HARMLS", "NTREIS", "NTREIS", "NTREIS", "HARMLS",
"ACTRIS", "NTREIS", "NTREIS", "NTREIS", "NTREIS", "NTREIS", "CTXMLS",
"NTREIS", "NTREIS", "NTREIS", "NTREIS", "ACTRIS", "HARMLS", "NTREIS",
"NTREIS", "SABOR", "HARMLS", "ACTRIS", "CTXMLS", "ACTRIS", "NTREIS",
"ACTRIS", "NTREIS", "HARMLS", "NTREIS", "ACTRIS", "NTREIS", "NTREIS",
"NTREIS", "NTREIS", "NTREIS", "NTREIS", "NTREIS", "NTREIS", "SABOR",
"NTREIS", "SABOR", "NTREIS", "ACTRIS", "SABOR?", "CTXMLS", "ACTRIS",
"HARMLS", "NTREIS", "ACTRIS", "NTREIS", "SABOR", "HARMLS", "SABOR",
"ACTRIS", "NTREIS", "HARMLS", "NTREIS", "NTREIS", "NTREIS", "NTREIS",
"HARMLS", "NTREIS", "CTXMLS", "NTREIS", "NTREIS", "ACTRIS?",
"ACTRIS?", "ACTRIS?", "ACTRIS?", "NTREIS", "NTREIS", "NTREIS",
"NTREIS", "NTREIS", "NTREIS", "NTREIS", "NTREIS", "NTREIS", "NTREIS",
"ACTRIS", "HARMLS", "HARMLS", "NTREIS", "CTXMLS", "HARMLS", "HARMLS",
"HARMLS", "NTREIS", "ACTRIS", "SABOR", "NTREIS", "NTREIS", "NTREIS"
)
【问题讨论】:
-
if计算长度为 1 的逻辑向量。你正在传递它as.na(MLS)。is.na是一个向量化函数,因此它输出的逻辑向量长度与MLS相同,我假设它的长度大于一。但是,if仅评估该逻辑向量的第一个元素。 -
它不是一个全零向量。我会改变我的问题,但我在向量中得到零
-
当
MLS=="MLS"时,你没有条件改变MLSNumber的值。由于您创建了一个全零向量,因此您只会替换您指定条件的那些零。如果你没有,它仍然是零。
标签: r for-loop if-statement