r - 从ggvoronoi中提取多边形区域
问题描述
我想从 ggvoronoi 中提取每个观察值的区域,以便我得到一个新的数据框,第一列是观察值,下一列是多边形的区域。
library(ggvoronoi)
set.seed(45056)
x <- sample(1:200,100)
y <- sample(1:200,100)
ggplot(points,aes(x,y)) +
stat_voronoi(geom=“path”) +
geom_point()
解决方案
首先将您的数据转换为 sf 对象:
library(sf)
set.seed(45056)
x <- sample(1:200,100)
y <- sample(1:200,100)
points <- data.frame(x = x, y = y)
points_sf <- st_as_sf(points, coords = c("x", "y"))
然后您可以使用以下函数来计算每个多边形的面积:
v <- points_sf %>%
st_union() %>%
st_voronoi() %>%
st_collection_extract() %>%
st_area()
结合原始数据:
cbind(x, y, v)
推荐阅读
- python - 如何创建一个函数,返回作为参数传递的单词的变位词列表,在预定义的词典中找到?
- python - 解决 sqrt 函数 Python 中的 TypeError 错误
- django - Django admin Filter Horizontal Widget对对象数量的限制
- regex - 收集重复的 2 组模式
- pandas - 从重采样中查找最高和最低的条数
- javascript - Javascript parseInt() 函数只能工作一次?
- ios - 从 S3 Bucket SwiftUI 下载公共 PDF 文件
- javascript - 有没有更有效的方法来编写我的 JS?
- html - 浮动图像超出部分
- c++ - 如何正确交换 void 指针?