使用csr
包中的splancs
函数为美国大陆生成点模式时,我发现在密歇根湖和伊利湖的一小部分区域生成了一些点。下面是一个例子。
# Load packages
library(maps)
library(ggplot2)
library(splancs)
# Obtain coordinates of US polygon
usa <- map_data("usa")
country <- usa[c(1,2)]
colnames(country) <- c("x", "y")
country <- as.points(country)
# Generate points under complete spatial randomness
random <- csr(country, 30000)
random <- data.frame(random)
# Obtain coordinates of state outlines
state <- map_data("state")
# Plot the points on a map of the US
p <- ggplot(state, aes(x = long, y = lat)) +
geom_path(color = "black", aes(group = group)) +
geom_point(data = random, size = 0.7, aes(x = xc, y = yc), color = "gray") +
theme_bw()
p
以上代码生成的地图显然在密歇根湖和伊利湖上有一些点。有什么方法可以阻止这种情况吗?
答案 0 :(得分:0)
Splancs'csr
函数仅适用于简单的单环多边形。为了准确了解您要喂食的内容,请使用polymap
:
polymap(country)
糟糕。你的国家多边形有一些奇怪之处。获得更好的多边形。