在data.frame中指定空间坐标
很傻,但我不知道我做错了什么: 我有一个带有两列的在data.frame中指定空间坐标,r,plot,coordinates,bubble-chart,R,Plot,Coordinates,Bubble Chart,很傻,但我不知道我做错了什么: 我有一个带有两列的data.frame: df = data.frame(x = rep(1, 20), y = runif(20, 10,20)) 然后我想将x和y设置为空间坐标,这样我就可以在气泡图中绘制df。所以我试着: coordinates(df) = c("x","y") 但是: bubble(df) 给出此错误: Error in data.frame(x@data, x@coords) : arguments imply differi
data.frame
:
df = data.frame(x = rep(1, 20), y = runif(20, 10,20))
然后我想将x
和y
设置为空间坐标,这样我就可以在气泡图中绘制df
。所以我试着:
coordinates(df) = c("x","y")
但是:
bubble(df)
给出此错误:
Error in data.frame(x@data, x@coords) :
arguments imply differing number of rows: 0, 20
要使气泡图有意义,您可能应该创建一个空间点数据框
library(sp)
df <- data.frame(x = rep(1, 20), y = runif(20, 10,20))
data <- data.frame(variable = runif(20))
coordinates(df) <- ~ x + y
out <- SpatialPointsDataFrame(df, data)
bubble(out)
库(sp)
df您可能希望在示例中包括一个库(sp)
。也许还有一个set.seed(1)
)临时解决方法:在调用coordinates()函数之前,尝试在df
中添加一个伪列。非常感谢Ricardo。很抱歉,我的示例中没有包含库(sp),虚拟列完成了这个任务。解释是什么?我想bubble
需要SpatialPointsDataFrame
而不仅仅是SpatialPoints
?
library(sp)
df <- data.frame(x = rep(1, 20), y = runif(20, 10,20))
data <- data.frame(variable = runif(20))
coordinates(df) <- ~ x + y
out <- SpatialPointsDataFrame(df, data)
bubble(out)