【发布时间】:2016-06-22 19:00:12
【问题描述】:
假设我有一个数据框是:
df:
x|y
1|2
2|3
3|5
4|8
如果我这样做了
lm(y~x)
我会得到线性模型
y=-0.5+2*x.
我怎样才能将这个线性模型的估计直接存储到数据框中,所以它看起来像
df:
x|y|estimate.from.LM
1|2|1.5
2|3|3.5
3|5|5.5
4|8|7.5
当然,这样做的一种方法是简单地手动创建一个新列并为其分配线性模型的直接值,例如
df$estimate.from.LM=-.5+2*df$x
在这个例子中很容易做到。但是当线性模型变得更复杂,系数更丑,变量更多时,有没有一种优雅的方法可以将它们的估计值存储在 df 中?
【问题讨论】:
-
df$estimate.from.LM=predict(model, df[1])? -
df$estimate <- predict(lm(y~x,data=df)) -
那些可能是拟合值。 “估计值”与模型的参数有关,而不是观察值。
-
@Frank:我同意您在技术统计意义上的评论,但术语差异很大。
predict()生成 OP 在他们的示例中给出的数字... -
lm函数返回刚刚使用的拟合值:
lm(y~x)$fitted.values
标签: r