我有一个数据框架
df <- data.frame(x = rep(seq(1:10), 10), y = rep(seq(1:10), each = 10), diameter = rnorm(100, 0.3, 0.03), height = rnorm(100, 0.2, 001))我希望通过ppp of spatstat包将其转换为spatstat文件。我希望diameter和height变量是marks,而我不能这样做。我试过f.ex这个
pp1<-ppp(df$x, df$y, marks = data.frame(df %>% select(diameter, height)))但不起作用。
我想要的输出类似于附加到spatstat包的数据文件spatstat。
> finpines
Marked planar point pattern: 126 points
Mark variables: diameter, height
window: rectangle = [-5, 5] x [-8, 2] metres发布于 2016-10-10 10:26:50
在定义平面点模式ppp之前,您需要定义观察窗口,因为我们需要知道观察点的位置和没有点的位置。这个过程的强度是每个区域的平均点数,所以我们需要知道研究区域的面积。
在你的例子中,我假设学习区域(观察窗口)是0,11x0,11。然后你可以:
library(spatstat)
df <- data.frame(x = rep(seq(1:10), 10),
y = rep(seq(1:10), each = 10),
diameter = rnorm(100, 0.3, 0.03),
height = rnorm(100, 0.2, 001))
W <- owin( c(0, 11), c(0,11) )
pp1 <- as.ppp( df, W = W)发布于 2016-10-10 10:11:19
你可以试一试,但我不能判断你是否能接受这个警告:
警告信息:在ppp中(df$x,df$y,mark= data.frame(df %>% select(直径,高度)):99点被拒绝,因为它位于指定的窗口之外。
library(spatstat)
library(dplyr)
df <- data.frame(x = rep(seq(1:10), 10), y = rep(seq(1:10), each = 10), diameter = rnorm(100, 0.3, 0.03), height = rnorm(100, 0.2, 001))
pp1<-ppp(df$x, df$y, marks = data.frame(df %>% select(diameter, height)))产出如下:
> pp1
Marked planar point pattern: 1 point
Mark variables: diameter, height
window: rectangle = [0, 1] x [0, 1] units
*** 99 illegal points stored in attr(,“rejects”) ***https://stackoverflow.com/questions/39955785
复制相似问题