R 将单点添加到levelplot

R 将单点添加到levelplot,r,sp,levelplot,R,Sp,Levelplot,我正试图帮助一个朋友策划一个阴谋,但最后却陷入了困境。 他想在水平图上绘制样本位置。光栅来自未标记的软件包。(data(瑞士))。我用一个虚拟的数据帧进行了尝试,我随机选择了一些位置 我发现以下问题或多或少是我想做的 因此,我尝试了以下代码: x <- c("980000", "1100000", "1200000") y <- c("120000", "170000", "100000") name <- c("a", "b", "c") dummy <- as.dat

我正试图帮助一个朋友策划一个阴谋,但最后却陷入了困境。 他想在水平图上绘制样本位置。光栅来自未标记的软件包
。(
data(瑞士)
)。我用一个虚拟的数据帧进行了尝试,我随机选择了一些位置

我发现以下问题或多或少是我想做的

因此,我尝试了以下代码:

x <- c("980000", "1100000", "1200000")
y <- c("120000", "170000", "100000")
name <- c("a", "b", "c")
dummy <- as.data.frame(cbind(x, y, name))

levelplot(elevation ~ x + y, Switzerland, aspect="iso",col.regions=terrain.colors(100)) +
  layer(sp.points(dummy, cex=2, col=1))

我试图了解
sp.points()
需要什么类型的输入,以及我做错了什么,但失败了。

虚拟
转换为
sp
-对象,即
空间点数据框
,在您的案例中:

R> library("sp")
R> dummy <- data.frame(x = as.numeric(x), y = as.numeric(y), name = name)
R> coordinates(dummy) <- ~ x + y
R> class(dummy)
[1] "SpatialPointsDataFrame"
attr(,"package")
[1] "sp"
R>库(“sp”)
R> 虚拟坐标(虚拟)类(虚拟)
[1] “空间点数据帧”
属性(,“包”)
[1] “sp”
可复制示例:

library("sp")
library("lattice")
library("latticeExtra")
library("unmarked")

data(Switzerland)

x <- c(980000, 1100000, 1200000)
y <- c(120000, 170000, 100000)
name <- c("a", "b", "c")

dummy <- data.frame(x, y, name)
coordinates(dummy) <- ~ x + y


p <- levelplot(elevation ~ x + y, Switzerland,
               aspect = "iso", col.regions = terrain.colors(100)) +
     layer(sp.points(dummy, cex = 2, col = 1))
print(p)
库(“sp”)
图书馆(“格子”)
图书馆(“latticeExtra”)
图书馆(“未标记”)
数据(瑞士)
x
library("sp")
library("lattice")
library("latticeExtra")
library("unmarked")

data(Switzerland)

x <- c(980000, 1100000, 1200000)
y <- c(120000, 170000, 100000)
name <- c("a", "b", "c")

dummy <- data.frame(x, y, name)
coordinates(dummy) <- ~ x + y


p <- levelplot(elevation ~ x + y, Switzerland,
               aspect = "iso", col.regions = terrain.colors(100)) +
     layer(sp.points(dummy, cex = 2, col = 1))
print(p)