【问题标题】:Estimate predicted value from linear model in R从 R 中的线性模型估计预测值
【发布时间】:2015-10-29 00:17:39
【问题描述】:

给定一个回归模型:

y = b0 + b1(x)

x 和 y 都是连续的。

在拟合模型后,我想估计当 x 处于某个值(例如 100)时 y 的预测均值和 95%CI。

在Stata中,可以通过边距来实现:

reg y x
margins, at (x = 100)

在 SAS 中,可以通过估算来完成:

proc glm;
model y = x / clparm solution;
estimate "Test x = 100" intercept 1 x 100;
run;

我的问题是:如何在 R 中实现相同的操作?我尝试了 lsmeans 包,但如果我的模型中没有任何分类变量,它似乎不起作用。

【问题讨论】:

  • ?predict.lm 你只是通过interval="confidence"
  • @bunk - 如果数据在现有数据之外,那么“预测”间隔可能更合适。
  • @thelatemail 确实!谢谢
  • 在 lsmeans 中是可能的——类似于lsmeans(model, "x", at = list(x = 100))。但本的答案更好。

标签: r sas stata linear-regression lsmeans


【解决方案1】:
predict(fit,newdata=data.frame(x=100),interval="confidence")

(我不同意@thelatemail 的建议,即首选预测间隔;如果您想考虑残差,则指定预测间隔......)

【讨论】:

  • 谢谢!这很有帮助。
  • 从技术上讲,margins, at (x = 100) 的 R 等效项将是 predict(fit, newdata = within(data, x = 100), interval="confidence"),因为 margins 给出了所有案例的平均预测,x 固定为指定值,而不是单个预测,具体情况。
  • 嗯。 OP 询问的 univariate 情况是否有区别? @rvl,是否应该有一个新的/更新的答案来引用 emmeans 中的新功能/语法?
猜你喜欢
  • 2020-06-20
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多