R 中 lm 的预期预测值差异

Difference in expected predicted values from lm in R

我正在努力解决 R 中的问题。

此列表包含孕妇、出生体重和胎次数据。

我想预测两名未来女性第一次(胎次 0)分别生下 3200 克和 3700 克的体重增加差异。

我有这个数据集:

str(birth_all)
'data.frame':   910 obs. of  13 variables:
$ birthweight: int  3270 3580 3030 2460 3400 4250 4260 3450 3880 3600 ...
$ parity     : int  0 0 0 0 0 0 2 0 1 0 ...
$ weightgain : num  17.9 15.9 10.4 11.5 11.6 ...

我可以这样做:

bweight<-birth_all$birthweight[birth_all$parity==0]
wgain<-birth_all$weightgain[birth_all$parity==0]
P1<-data.frame(bweight=c(3200,3700))
pred_val<-predict(lm(wgain~bweight),newdata = P1,interval = "confidence")
pred_val
       fit      lwr      upr
1 15.36842 14.62545 16.11138
2 16.71779 16.07556 17.36002

简单的计算是这样的:

    pred_val[2,1]-pred_val[1,1]
[1] 1.349368

我认为这个解决方案不是很优雅,而且我放宽了置信区间。

或者我可以使用 multcomp-package,但我得到了类似的结果。谁能帮我提供更好的解决方案?非常感谢。

获得间隔的一种方法是进行差异回归:

bweighti=bweight-3200
wgaini=wgain-pred_val[1,1]
P1i<-data.frame(bweighti=c(3700-3200))
pred_vali<-predict(lm(wgaini~bweighti),newdata = P1i,interval = "confidence")
pred_vali