指定data.frame中的空间坐标

时间:2014-04-28 05:40:44

标签: r plot coordinates bubble-chart

非常愚蠢,但我无法弄清楚我在这里做错了什么:

我有一个data.frame,有两列:

df = data.frame(x = rep(1, 20), y = runif(20, 10,20))

然后,我想将xy设置为空间坐标,以便在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

2 个答案:

答案 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)

enter image description here

答案 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)

enter image description here