我还没有任何代码,因为我想弄清楚从哪里开始。
我正在使用地图('州,'德克萨斯州)来吸引德克萨斯州,并在其上进行地理标记大学。我希望R弄清楚大学在该州的影响范围并将其映射出来。
最终我也将在地图上设置地理位置高中,我希望R能够看到高中所在的影响范围。
有谁知道开始使用什么包?
答案 0 :(得分:2)
您的描述符合voronoi diagram的概念。它根据点的位置(例如您的高中)将区域划分为多边形。多边形中的所有点都比特定的高中更接近所有其他高中。
使用从this link复制的ggplot2
的示例:
library(ggplot2)
library(deldir)
library(scales)
library(reshape2)
library(plyr)
# make fake points
n <- 50
k <- 4
mat <- cbind(rnorm(n), rnorm(n))
df <- as.data.frame(mat)
names(df) <- c('x','y')
# triangulate
xrng <- expand_range(range(df$x), .05)
yrng <- expand_range(range(df$y), .05)
deldir <- deldir(df, rw = c(xrng, yrng))
# voronoi
qplot(x, y, data = df) +
geom_segment(
aes(x = x1, y = y1, xend = x2, yend = y2), size = .25,
data = deldir$dirsgs, linetype = 2
) +
scale_x_continuous(expand = c(0,0)) +
scale_y_continuous(expand = c(0,0))