2017-06-01 7 views
0

I以下DF有する:R - ボロノイ図の異なるタイル(ポリゴン)の点の値の合計

name x  y 
    A  -47 134 
    B  -11 311 
    C  49 100 
    D  -40 138 
    E  -33 233 
    F  30 134 

Iは、囲まれたボロノイ分割を生成するX &のY COORDSを使用しているが長方形:

library(spatstat) 
library(deldir) 

rectangle <- owin(c(-100,100),c(0,400)) 
points <- ppp(x=df$x,y=df$y, window = rectangle) 
voronoi <- dirichlet(points) 
plot(voronoi) 

Voronoi diagram

は、今私は別のDF、DF2を持っていると言います

x  y  value 
-99  2  0.24 
    -5  32  0.24 
    51  242 0.08 
    26  54  0.25 

は私がspatstat & quadratcountを使用して、私のボロノイ分割の各ポリゴンに(DF2中)のポイントの合計を数えることができる知っているが、私の代わりに、各ポリゴン内の値の合計をカウントしたい場合は?私はあなたの期待される出力を理解していない

name x  y  sum_of_value 
    A  -47 134 0.24 
    B  -11 311 0.32 
    C  49 100 0 
    D  -40 138 0 
    E  -33 233 0 
    F  30 134 0.25 

答えて

1


:私のようなものを与えること

by.pppを使用して私は を出力できます。

library(spatstat) 
library(deldir) 
df <- structure(list(name = c("A", "B", "C", "D", "E", "F"), 
        x = c(-47L, -11L, 49L, -40L, -33L, 30L), 
        y = c(134L, 311L, 100L, 138L, 233L, 134L)), 
       .Names = c("name", "x", "y"), 
       row.names = 1:6, 
       class = "data.frame") 
rectangle <- owin(c(-100,100),c(0,400)) 
points <- ppp(x=df$x,y=df$y, window = rectangle) 
voronoi <- dirichlet(points) 
plot(voronoi) 
text(df$x, df$y, labels = df$name) 

df2 <- structure(list(x = c(-99L, -5L, 51L, 26L), 
         y = c(2L, 32L, 242L, 54L), 
         value = c(0.24, 0.24, 0.08, 0.25)), 
       .Names = c("x", "y", "value"), 
       row.names = 1:4, 
       class = "data.frame") 

points2 <- as.ppp(df2, W = rectangle) 
text(df2$x, df2$y, labels = df2$value) 

values2 <- by(points2, voronoi, marks) 
df$values <- sapply(values2, sum) 

df 
#> name x y values 
#> 1 A -47 134 0.24 
#> 2 B -11 311 0.00 
#> 3 C 49 100 0.49 
#> 4 D -40 138 0.00 
#> 5 E -33 233 0.08 
#> 6 F 30 134 0.00 
関連する問題