我是R& S的新手。 spatstat和我正在使用非均匀对相关函数。我的数据集由分布在几个时间间隔内的点值组成。
sp77.ppp = ppp(sp77.dat$Plot_X, sp77.dat$Plot_Y, window = window77, marks = sp77.dat$STATUS)
Dvall77 = envelope((Y=dv77.ppp[dv77.ppp$marks=='2']),fun=pcfinhom, r=seq(0,20,0.25), nsim=999,divisor = 'd', simulate=expression((rlabel(dv77.ppp)[rlabel(dv77.ppp)$marks=='1']),(rlabel(dv77.ppp)[rlabel(dv77.ppp)$marks=='2'])), savepatterns = T, savefuns = T).
我正在尝试比较多个成对比较(来自不同时间段)并且需要创建一个函数,该函数将在每个'r'值处对每个计算的包络值进行检查,并找出包络之间的最小和最大差异。
我的问题是:如何找到保存的信封值?我知道savefuns = T
正在保存所有模拟的包络值,但我找不到如何提取值。摘要(如下)表示存储了值。如何调用这些值并将其提取出来?
> print(Dvall77)
Pointwise critical envelopes for g[inhom](r)
and observed value for ‘(Y = dv77.ppp[dv77.ppp$marks == "2"])’
Edge correction: “iso”
Obtained from 999 evaluations of user-supplied expression
(All simulated function values are stored)
(All simulated point patterns are stored)
Alternative: two.sided
Significance level of pointwise Monte Carlo test: 2/1000 = 0.002
.......................................................................................
Math.label Description
r r distance argument r
obs {hat(g)[inhom]^{obs}}(r) observed value of g[inhom](r) for data pattern
mmean {bar(g)[inhom]}(r) sample mean of g[inhom](r) from simulations
lo {hat(g)[inhom]^{lo}}(r) lower pointwise envelope of g[inhom](r) from simulations
hi {hat(g)[inhom]^{hi}}(r) upper pointwise envelope of g[inhom](r) from simulations
.......................................................................................
Default plot formula: .~r
where “.” stands for ‘obs’, ‘mmean’, ‘hi’, ‘lo’
Columns ‘lo’ and ‘hi’ will be plotted as shading (by default)
Recommended range of argument r: [0, 20]
Available range of argument r: [0, 20]
提前感谢任何建议!
答案 0 :(得分:0)
如果您希望为每个随机标记的模式访问摘要统计信息(ginhom
)的值,则原则上记录在help(envelope.ppp)
中。不可否认,这很长,如果你是R和spatstat
的新手,很容易迷路。线索位于帮助文件的value
部分。结果是data.frame
包含一些其他类(envelope
和fv
),并且帮助文件显示为:
此外,如果'savepatterns = TRUE',则返回值为 属性“”simpatterns“'是一个包含'nsim'的列表 模拟模式。如果'savefuns = TRUE',则返回值为 属性'“simfuns”'是类'“fv”'的对象 包含为每个'nsim'计算的汇总函数 模拟模式。
当然,您需要知道如何访问R中的属性,这是使用attr
完成的:
funs <- attr(Dvall77, "simfuns")
然后funs
是data.frame
(和fv
- 对象),其中包含每个随机标记模式的所有函数值。
我无法从你的问题中真正理解你是否只需要定义包络的上下曲线的值?在这种情况下,您只需像普通data.frame
一样访问它们(并且无需在信封中保存所有单个函数值):
lo <- Dvall77$lo
hi <- Dvall77$hi
d <- hi - lo
你可以做得更优雅:
d <- with(Dvall77, hi - lo)