非常愚蠢,但我无法弄清楚我在这里做错了什么:
我有一个data.frame
,有两列:
df = data.frame(x = rep(1, 20), y = runif(20, 10,20))
然后,我想将x
和y
设置为空间坐标,以便在df
中绘制bubble plot
。所以我试试:
coordinates(df) = c("x","y")
但是:
bubble(df)
给出了这个错误:
Error in data.frame(x@data, x@coords) :
arguments imply differing number of rows: 0, 20
答案 0 :(得分:1)
要使气泡图有意义,您应该创建一个SpatialPointsDataFrame
。
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)
答案 1 :(得分:0)
library(sp)
set.seed(1)
df = data.frame(x = rep(1, 20), y = runif(20, 10, 20), dummy = rep(0, 20))
coordinates(df) = c("x","y")
bubble(df)