ggplot在geom_point中给出"参数暗示不同行数"的错误,而不是真的 - 如何调试?

mrz*_*mrz 6 r spatial ggplot2

我有一个类型的两个对象大SpatialPointsDataFrame名为ST2ST10.它们来自同一个来源.他们都没有问题:

plot(st2)
Run Code Online (Sandbox Code Playgroud)

要么

plot(st10)
Run Code Online (Sandbox Code Playgroud)

但我想用ggmap和ggplot绘制它们.我可以使用这样的简单代码为st2执行此操作:

map <- get_map(location = 'Pozna?', zoom = 12)
ggmap(map) + geom_point(aes(x =st2@coords[,1], y = st2@coords[,2]))
Run Code Online (Sandbox Code Playgroud)

但是当谈到st10时,我收到一个错误:

Error in data.frame(x = c(16.910848618, 16.910863876, 16.910913467, 16.910936356,  :   
arguments imply differing number of rows: 53885, 4
Run Code Online (Sandbox Code Playgroud)

我用length()检查值:

> length(st10@coords[,1])
[1] 53885
> length(st10@coords[,2])
[1] 53885
Run Code Online (Sandbox Code Playgroud)

我用摘要()检查它们

> summary(st10@coords[,1])
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  16.84   16.88   16.91   16.91   16.91   16.99 
> summary(st10@coords[,2])
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  52.35   52.41   52.46   52.44   52.46   52.46 
Run Code Online (Sandbox Code Playgroud)

怎么了?我有超过20个SP数据帧和一些其他情节给出了上面提到的错误...这与点数无关

有什么不对?或者也许有人可以给我一些提示如何调试这个?

And*_*hne 1

我通过制作一个新的数据框解决了这个问题。

tlData=data.frame(x=c(0,100000),y=c(0,1000000)
ggplot(otherdf,aes(x=X,y=Y)+geom_point(alpha=0.1)+geom_line(data=tlData,aes(x=x,y=y),color='red')
Run Code Online (Sandbox Code Playgroud)

看来 ggplot 不再喜欢无数据的几何组件,因为我使用的先前版本完全可以使用 aes(x=c(0,100000),y=c(0,100000)。