R-spatstat:使用 nnwhich 后如何关联 2 个标记
R-spatstat: How to relate 2 marks after using nnwhich
我有 1 ppp,每个点代表一个农场。它附有2个标记。
1) 多类型标记:疾病状态(0=未患病,1=患病)=> DS1
2) 数字标记:患病动物数量=> ND1
我不想被那些标记混淆所以我将它们分成每个标记 2 ppp
sep_farm <- unstack.ppp(farm)
#Extract 'number of positive animals'from the sep_farm
ND2 <- sep_farm[["ND1"]]
#Extract 'disease status' from the sep_farm
DS2 <- sep_farm[["DS1"]]
我想找到第一个最近的患病和未患病农场,
所以我用;
n1 <- nnwhich(DS2, k=1, by=marks(DS2))
问题是我还想知道每个第一个最近的患病农场中患病动物的数量。
我该怎么做?
用于测试的假数据:
library(spatstat)
n <- 10
set.seed(42)
ds <- sample(0:1, n, replace = TRUE)
nd <- rpois(n, 100) * ds
farm <- runifpoint(n)
marks(farm) <- data.frame(DS1 = factor(ds), ND1 = nd)
marks(farm)
#> DS1 ND1
#> 1 1 98
#> 2 1 115
#> 3 0 0
#> 4 1 120
#> 5 1 99
#> 6 1 113
#> 7 1 122
#> 8 0 0
#> 9 1 113
#> 10 1 109
伪造数据图,下方给出了患病动物的数量
位置
plot(farm, which.marks = "DS1", cols = c("red", "blue"))
text(farm$x, farm$y, labels = nd, pos = 1, col = ifelse(ds==0, "red", "blue"))
问题的现有代码:
sep_farm <- unstack.ppp(farm)
ND2 <- sep_farm[["ND1"]]
DS2 <- sep_farm[["DS1"]]
n1 <- nnwhich(DS2, k=1, by=marks(DS2))
使用索引提取相关标记
ND_neigh <- marks(ND2)[n1[,2]]
最近受感染的患病动物数量的结果图
农场 给定 以上 每个位置(下面有自己的疾病计数
仍然)
plot(farm, which.marks = "DS1", cols = c("red", "blue"))
text(farm$x, farm$y, labels = nd, pos = 1)
text(farm$x, farm$y, labels = ND_neigh, pos = 3, col = "green")
我有 1 ppp,每个点代表一个农场。它附有2个标记。
1) 多类型标记:疾病状态(0=未患病,1=患病)=> DS1
2) 数字标记:患病动物数量=> ND1
我不想被那些标记混淆所以我将它们分成每个标记 2 ppp
sep_farm <- unstack.ppp(farm)
#Extract 'number of positive animals'from the sep_farm
ND2 <- sep_farm[["ND1"]]
#Extract 'disease status' from the sep_farm
DS2 <- sep_farm[["DS1"]]
我想找到第一个最近的患病和未患病农场, 所以我用;
n1 <- nnwhich(DS2, k=1, by=marks(DS2))
问题是我还想知道每个第一个最近的患病农场中患病动物的数量。
我该怎么做?
用于测试的假数据:
library(spatstat)
n <- 10
set.seed(42)
ds <- sample(0:1, n, replace = TRUE)
nd <- rpois(n, 100) * ds
farm <- runifpoint(n)
marks(farm) <- data.frame(DS1 = factor(ds), ND1 = nd)
marks(farm)
#> DS1 ND1
#> 1 1 98
#> 2 1 115
#> 3 0 0
#> 4 1 120
#> 5 1 99
#> 6 1 113
#> 7 1 122
#> 8 0 0
#> 9 1 113
#> 10 1 109
伪造数据图,下方给出了患病动物的数量 位置
plot(farm, which.marks = "DS1", cols = c("red", "blue"))
text(farm$x, farm$y, labels = nd, pos = 1, col = ifelse(ds==0, "red", "blue"))
问题的现有代码:
sep_farm <- unstack.ppp(farm)
ND2 <- sep_farm[["ND1"]]
DS2 <- sep_farm[["DS1"]]
n1 <- nnwhich(DS2, k=1, by=marks(DS2))
使用索引提取相关标记
ND_neigh <- marks(ND2)[n1[,2]]
最近受感染的患病动物数量的结果图 农场 给定 以上 每个位置(下面有自己的疾病计数 仍然)
plot(farm, which.marks = "DS1", cols = c("red", "blue"))
text(farm$x, farm$y, labels = nd, pos = 1)
text(farm$x, farm$y, labels = ND_neigh, pos = 3, col = "green")