对每一行应用 zip_distance

Apply zip_distance to every row

我有一个包含两列的数据框,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 的样子:

zip CSZip
91723 90048
90814 90048
91604 90048
90805 90048
90255 90048

也许这就是您所需要的:

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

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