R消息:错误-替换有x行,数据有y行 [英] R Message: Error - replacement has x rows, data has y
本文介绍了R消息:错误-替换有x行,数据有y行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
ggmap
包来计算具有地址列表的目标地址的距离。我在CSV中的数据如下:
Order ID Address
1652049 435 E 70TH ST,10021
1652123 1365 YORK AVE,10021
1652053 530 E 72ND ST,10021
所以我尝试获得从我的输入地址到所有这些地址的距离,例如:哈德逊街400号,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文件的列以逗号分隔。在将CSV文件读入其列中包含逗号的R(如上面的Address列)之前,请确保该列中的每个值/单元格都保存为自己的字符串,就像我所做的那样(即用单引号括起来)。这篇关于R消息:错误-替换有x行,数据有y行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文