r语言 - 对每一行应用zip_distance



我有一个数据框,有两列,zipCSZip。我试图应用一个函数到每一行使用:

dist <- apply(vf, 1, zip_distance(zip, CSZip, lonlat = TRUE, units = "meters"))

但是我得到这个错误:

Error in as.character(zipcode_a) : 
cannot coerce type 'closure' to vector of type 'character'

zip_distance来自ZipCodeR包。

这是5行vf的样子:

<表类>zipCSZiptbody><<tr>91723900489081490048916049004890805900489025590048

ZipcodeR是有一些怪异的行为。有时使用for循环更简单:

library(zipcodeR)
vf <- read.table(header=TRUE, text="zip CSZip
91723   90048
90814   90048
91604   90048
90805   90048
90255   90048")

for(i in 1:nrow(vf)) {
vf$dist[i] <- zip_distance(vf$zip[i], vf$CSZip[i], lonlat = TRUE, units = "meters")$distance
}
vf

也许这就是你需要的:

dist <- mapply(function(x,y) zip_distance(x,y, lonlat = TRUE, units = "meters"), vf$zip, vf$CSZip)

最新更新