0

我正在尝试根据模型(hn.ls)的估计来绘制真实比例的密度关系的线图。但我坚持将其反向转换为实际规模。我是否正确进行了反向转换,还是应该直接使用 plot()?

我试过 backTransform(hn.ls, type="state") 而不是 "det" 但都不管用。

dist<-seq(0,60,15)
obs<-as.matrix(dat[,1:4])
site_covs<-data.frame(shrub=dat[,c("d.shrub")],light=dat[,c("light")])
umf<-unmarkedFrameDS(y=obs,siteCovs=site_covs,dist.breaks=c(dist),survey="point",unitsIn="m")
hn.1.s<-distsamp(~1~shrub,umf,keyfun="halfnorm",output="density",unitsOut="ha")
pred.hn.l.s<-predict(hn.l.s,"state",se.fit=TRUE)
backTransform(hn.l.s, type="det")

.local(obj, ...) 中的错误:无法直接反向转换长度 > 1 的 unmarkedEstimate。

我期望从以下位置获得检测估计:

backTransform(hn.l.s, type="det") 

这会给我一个数字:

sigma<-[the number]

然后我会估计半正常的exp:

hn.l.s@estimates

并得到:

b<-exp([a diff number])

然后计算:

p.hn.l.s<-1-exp(-(dist/sigma)^-b)

并得到了一个情节:

plot(dist,p.hn.l.s,type="l",xlim=c(0,60), ylim=c(0,1), xlab="Distance", ylab="Detection probability")
4

1 回答 1

1

没有可重现的例子,我无法给你一个准确的答案,但基本上,你只能backTransform在没有协变量的情况下使用。如果有协变量,那么您需要指定进行反向变换的协变量值。您可以使用该功能来做到这一点(请参阅此处linearComb未标记的手册)。然后,您可以使用函数的结果。backTransformlinearComb

于 2019-10-31T20:46:54.003 回答