R 如何绘制加权对数线性回归的置信区间?
我需要使用加权对数线性模型的指数形式绘制指数物种面积关系,其中每个位置/银行的平均物种数量(R 如何绘制加权对数线性回归的置信区间?,r,plot,regression,linear-regression,lm,R,Plot,Regression,Linear Regression,Lm,我需要使用加权对数线性模型的指数形式绘制指数物种面积关系,其中每个位置/银行的平均物种数量(sb$NoSpec.mean)由每年物种数量的方差(sb$NoSpec.var)加权 我能够绘制拟合曲线,但在计算如何绘制此拟合的置信区间时遇到问题。以下是到目前为止我想到的最好的。有什么建议吗 # Data df <- read.csv("YearlySpeciesCount_SizeGroups.csv") require(doBy) sb <- summaryBy(NoSpec ~ Sh
sb$NoSpec.mean
)由每年物种数量的方差(sb$NoSpec.var
)加权
我能够绘制拟合曲线,但在计算如何绘制此拟合的置信区间时遇到问题。以下是到目前为止我想到的最好的。有什么建议吗
# Data
df <- read.csv("YearlySpeciesCount_SizeGroups.csv")
require(doBy)
sb <- summaryBy(NoSpec ~ Short + Area + Regime + SizeGrp, df,
FUN=c(mean,var, length))
# Plot to fill
plot(S ~ A, xlab = "Bank Area (km2)", type = "n", ylab = "Species count",
ylim = c(min(S), max(S)))
text(A, S, label = Pisc$Short, col = 'black')
# The Arrhenius model
require(vegan)
gg <- data.frame(S=S, A=A, W=W)
mloglog <- lm(log(S) ~ log(A), weights = 1 / (log10(W + 1)), data = gg)
# Add exponential fit to plot (this works well)
lines(xtmp, exp(predict(mloglog, newdata = data.frame(A = xtmp))),
lty=1, lwd=2)
提前感谢您的帮助 这个问题可以不提供数据,因为:
- 据说OP的代码工作正常,所以没有“不工作”的地方李>
- 这个问题与统计程序更相关:什么是正确的做法
严格来说,使用
1.96
是不正确的。你可以阅读详细信息。我们需要剩余自由度和t分布的0.025分位数
我想说的是,predict.lm
可以为您返回置信区间:
pp <- data.frame(A = xtmp)
p <- predict(mloglog, newdata = pp, interval = "confidence")
现在,您可以轻松使用matplot
生成漂亮的回归图:
matplot(xtmp, p, type = "l", col = c(1, 2, 2), lty = c(1, 2, 2))
请不要发布数据的图片。相反,使用调用
dput
的结果对数据的适当子集进行编辑。谢谢,Alistaire。下次我会记住dput的。
pp <- data.frame(A = xtmp)
p <- predict(mloglog, newdata = pp, interval = "confidence")
p <- exp(p)
matplot(xtmp, p, type = "l", col = c(1, 2, 2), lty = c(1, 2, 2))