Как выбрать объект из результатов функции localKcross и сделать его конвертом - PullRequest
0 голосов
/ 16 октября 2019

У меня есть два типа точек (отметки = 1 или 2), и я хочу использовать пакет spatstat для R, чтобы выполнить анализ localkcross. Результат функции нарисован множеством кривых (каждая из которых представляет точку, помеченную 1). Как можноЯ использую цикл, чтобы выбрать один и сделать конверт для каждой вырезки?

Я пытался написать некоторый код, но результаты были неудовлетворительными.

library(spatstat)
library(maptools)
library(gpclib)
library(sp)

# Load points
points <- read.csv("E:/test_1.csv",sep = ",", header = TRUE, fileEncoding = "utf-8")

#Ripley k
localk <- function(x,y,codes,place) {
  p <- ppp(x, y, c(4000, 6000), c(-4500, -3000),marks = factor(codes))
  #lks <- localKcross(p,i="1",j="2",rmax = 100,correction='Ripley')

  kmult <- envelope(p, fun=localKcross, nsim=10, i="1", j="2",r=s,correction='Ripley', simulate=NULL)

  plot(kmult)

  # setwd("E://kpic")
  # for(i in 1:900){
  #   idx = sprintf("%03d", i)
  #   pic <- paste("iso",idx," ~ r", sep = "")
  #   picname <- paste("iso",idx," ~ r",".png", sep = "")
  #   png(file=picname, bg="transparent")
  #   plot(lk,pic)
  #   
  #I don't know how to select one carve to do envelope
  #   kmult <- envelope(p, fun=localKcross, nsim=100, i="1", j="2",correction='Ripley', simulate=expression(rlabel(p)))
  #   plot(kmult)
  #   
  #   dev.off()
  # }
  return(kmult)
}
res <- localk(points$X, points$Y,points$type,points$name)  

Я ожидаю, что каждая точка, помеченная 1, сделает кривую ripley'k и ее огибающую и сохранит ее визображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...