问题描述
早上好,
我创建了函数,用于从原始数据中获取具有相同属性的点之间的总距离。
它适用于数据集的一个区域,甚至是数据集的一半。我尝试了一半,然后分别尝试了另一半,两者都可以正常工作。 但是 当我尝试使用完整数据集时,由于某种原因会出现一条错误消息。我提供更多详细信息:
该错误在使用 pointdistance(df$x,df$y,lonlat=FALSE,allpairs=FALSE) 时特别出现,这就是他们所说的(添加回溯):
Error in .pointsToMatrix(p1) :
Highly SUSPECT column names (longitude and latitude reversed?)
6. stop("Highly SUSPECT column names (longitude and latitude reversed?)")
5. .pointsToMatrix(p1)
4. pointdistance(z1[i,],z1[i + 1,lonlat = FALSE,allpairs = FALSE) at Functions.r#225
3. calculate_distance(aux) at Functions.r#247
2. calculate_tracklength(aux) at Functions.r#301
1. track_length(strecke_ch,1,10)
有什么建议吗?也许使用另一种方法或改变一些东西。
解决方法
一种解释是,df
与您制作的子集不同。我们无法知道,因为您没有提供任何证据。您至少应该显示一些数据,例如str(df)
。
pointDistance(df$x,df$y,lonlat=FALSE,allpairs=FALSE)
错误消息表明 x 和 y 中的变量名称是“纬度”、“经度”(或其某些变体),按(错误的)顺序排列。但如果您不提供更多信息,我们将无法为您提供帮助。
制作 df
的子集(例如 5 个点)并显示值也很好,您可以使用这些数据运行 pointDistance。也就是说,虽然您可能无法共享所有数据,但您可以举一个小例子,并证明更大的数据集实际上是等效的。
调用 pointDistance
时发生 track_length(strecke_ch,1,10)
错误。想必那是你自己的功能。问题的最可能原因是在调用 pointDistance
之前的错误。但是我们怎么知道?