我有一个美国邮政编码的数据框,我正在尝试从zipcodes数据库附加一个包含州和城市的新列,并且似乎无法解决以下错误。我尝试了很多方法,但总是在同一个地方。
lUsers$Zip <- as.character( lUsers$Zip )
lUsers$city <- filter( zipcode, zip == lUsers$Zip )$city
非常感谢任何帮助。
答案 0 :(得分:1)
这一行:
lUsers$city <- filter( zipcode, zip == lUsers$Zip )$city
会尝试将lUsers
中的相应行与zipcode
行进行比较,就像执行zipcode$zip == lUsers$Zip
一样,即逐个元素。
您可能想要进行左连接,例如:
lUsers = left_join(lUsers, zipcode, c("zip"="Zip"))
将zipcode
中的行与lUsers
的行匹配并添加列。删除之后不需要的列。
答案 1 :(得分:0)
不运行,但请尝试:
citystate <- zipcode[ , c(1:3)]
for (i in 1:nrow(lUsers){
for (j in 1:nrow(citystate)) {
if (lUsers[i, 5] == citystate[j, 1])
lUsers[i, 6] <- citystate[j, 2]
}
}
重复以通过将最后一行更改为以获取状态: lUsers [i,7]&lt; - citystate [j,3]
希望这个建议不是一个luser !!大声笑。