在进行分析时,我们可能知道自变量的变化,或者如果要解决某个变量,我们可能想了解其他自变量的行为。因此,我们可以在创建模型时固定自变量的系数,这可以通过将偏移函数与要固定其值的变量的系数一起使用来完成。
请看以下数据帧:
> set.seed(854) > x1<-rnorm(20,5,0.34) > x2<-rnorm(20,5,1.96) > y1<-rnorm(20,10,1.20) > df1<-data.frame(x1,x2,y1) > df1
输出结果
x1 x2 y1 1 5.055384 4.179533 10.432503 2 4.504170 4.239420 9.965098 3 4.790987 6.854590 12.394971 4 5.225883 5.302747 9.959724 5 5.331538 7.986233 10.652037 6 5.437044 4.479045 10.631804 7 4.880098 6.737453 11.647296 8 5.027229 3.380460 10.336230 9 5.114676 5.252512 10.005986 10 4.971399 3.423199 10.892680 11 5.360185 8.004727 10.988475 12 4.938459 6.348125 7.740576 13 5.490242 5.362272 8.400993 14 5.104938 4.410061 8.559530 15 5.680805 4.225577 9.805985 16 5.321608 5.213297 8.401131 17 5.095157 8.048281 10.927522 18 5.153315 2.422241 9.090280 19 5.534677 2.886866 8.402550 20 4.625666 4.487508 9.957264
通过固定x2的系数来创建预测y1的模型:
> Model1<-lm(y1~x1+offset(5*x2),data=df1) > summary(Model1)
呼叫:
lm(formula = y1 ~ x1 + offset(5 * x2), data = df1)
残留物:
Min 1Q Median 3Q Max -13.4830 -6.2440 0.9653 4.9613 12.8422
系数:
Estimate Std. Error t value Pr(>|t|) (Intercept) -13.0038 32.2757 -0.403 0.692 x1 -0.5549 6.2786 -0.088 0.931
残留标准误差:18自由度上的8.269
多个R平方:0.5247,调整后R平方:0.4983
F统计量:1和18 DF上的19.87,p值:0.0003043
让我们看另一个例子:
> a1<-rpois(20,5) > a2<-rpois(20,8) > Response<-sample(1:10,20,replace=TRUE) > df2<-data.frame(a1,a2,Response) > df2
输出结果
a1 a2 Response 1 3 7 8 2 7 11 8 3 10 8 3 4 6 5 6 5 4 5 8 6 16 10 7 7 4 8 10 8 5 11 1 9 6 4 4 10 5 12 2 11 5 9 7 12 5 8 8 13 7 6 2 14 2 10 9 15 5 10 1 16 5 6 10 17 2 6 7 18 6 11 1 19 8 12 1 20 4 11 4
通过固定a1的系数来创建预测响应的模型:
> Model2<-lm(Response~offset(1.34*a1)+a2,data=df2) > summary(Model2)
呼叫:
lm(formula = Response ~ offset(1.34 * a1) + a2, data = df2)
残留物:
Min 1Q Median 3Q Max -10.890 -3.164 1.325 3.358 9.870
系数:
Estimate Std. Error t value Pr(>|t|) (Intercept) 4.4180 4.4255 0.998 0.331 a2 -0.7968 0.4998 -1.594 0.128
残留标准误差:18自由度上的5.543
多个R平方:0.3836,调整后R平方:0.3494
F统计量:1和18 DF上的11.2,p值:0.003587