如何确定R中自变量的系数?

在进行分析时,我们可能知道自变量的变化,或者如果要解决某个变量,我们可能想了解其他自变量的行为。因此,我们可以在创建模型时固定自变量的系数,这可以通过将偏移函数与要固定其值的变量的系数一起使用来完成。

示例

请看以下数据帧:

> 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