r - 从 ggvoronoi 中提取多边形的面积

标签 r ggplot2

我想从 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)

关于r - 从 ggvoronoi 中提取多边形的面积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58555407/

相关文章:

r - 按频率绘制因子

r - 使用 DBI :dbConnect in R 连接到 SQL Server 时出现问题

r - 从 R 中的数值获取仅包含数字的 n 大小向量

r - 如何将 difftime 格式化为 hh :mm in ggplot2?

r - 如何编写 Median 函数以用于 Ggplot 图,以适应 R 数据集中的不同项目

python - python 中的 ggplot : plot size and color

r - 如何删除添加到图例中的斜线?

c++ - Armadillo :从稀疏矩阵中获取稀疏行 vector 的非零位置

在ggplot2图表中代表负钱

R在轴线处打破线型规则