R 消息:错误 - 替换有 x 行,数据有 y

R Message: Error - replacement has x rows, data has y

我正在尝试使用包 ggmap 来计算带有地址列表的目标地址的距离。我的 csv 数据如下所示:

Order ID    Address
1652049  435 E 70TH ST,10021
1652123  1365 YORK AVE,10021
1652053  530 E 72ND ST,10021

所以我尝试获取从我的输入地址到所有这些地址的距离,例如:400 Hudson St,10013,我在 R 中有以下代码:

library(ggmap)
mydata<-read.csv("address.csv")
mydata$Address<-as.character(mydata$Address)
mydata$Distance<-NA
a<-c("289 Hudson St,10013")
mydata$Distance<-mapdist(mydata$Address,a)$miles

但是代码给我如下错误信息:

Error in `$<-.data.frame`(`*tmp*`, "Distance", value = c(8.2403854, 8.2403854,  : 
  replacement has 53 rows, data has 31

确保列名没有空格;所以不要使用名称 "Order ID",而是使用 "Order_ID" 之类的名称。还将每个地址作为自己单独的字符串:

library(ggmap)

mydata$Address<-as.character(mydata$Address)
mydata$Distance<-NA
a<-c("289 Hudson St,10013")
mydata$Distance<-mapdist(mydata$Address,a)$miles

输出:

  Order_ID             Address Distance
1  1652049 435 E 70TH ST,10021 8.240385
2  1652123 1365 YORK AVE,10021 8.475275
3  1652053 530 E 72ND ST,10021 8.618197

示例数据:

mydata <- data.frame(Order_ID=c(1652049,1652123,1652053),
                     Address=c('435 E 70TH ST,10021','1365 YORK AVE,10021',
                               '530 E 72ND ST,10021'))

编辑:

请注意,在上述数据中,每个地址都是向量 c() 中的自己的字符串。我们可以通过在每个地址周围使用单引号看到这种情况。我们这样做的原因是为了防止在使用 CSV 文件的情况下混淆数据,这些文件的列以逗号分隔。在将 CSV 文件读入其列中有逗号的 R 之前,如上面的地址列,确保该列中的每个 value/cell 都像我所做的那样保存为自己的字符串(即用单引号括起来)。