
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Fix Coefficient of Independent Variable in R
While doing the analysis we might know the variation in an independent variable or we might want to understand how other independent variables behave if we fix a certain variable. Therefore, we can fix the coefficient of an independent variable while creating the model and this can be done by using offset function with the coefficient of the variable for which we want to fix the value of the coefficient.
Example
Consider the below data frame:
> 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
Output
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
Creating a model for predicting y1 by fixing the coefficient of x2:
> Model1<-lm(y1~x1+offset(5*x2),data=df1) > summary(Model1)
Call:
lm(formula = y1 ~ x1 + offset(5 * x2), data = df1)
Residuals:
Min 1Q Median 3Q Max -13.4830 -6.2440 0.9653 4.9613 12.8422
Coefficients:
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
Residual standard error: 8.269 on 18 degrees of freedom
Multiple R-squared: 0.5247, Adjusted R-squared: 0.4983
F-statistic: 19.87 on 1 and 18 DF, p-value: 0.0003043
Example
Let’s have a look at another example:
> a1<-rpois(20,5) > a2<-rpois(20,8) > Response<-sample(1:10,20,replace=TRUE) > df2<-data.frame(a1,a2,Response) > df2
Output
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
Creating a model for predicting Response by fixing the coefficient of a1:
> Model2<-lm(Response~offset(1.34*a1)+a2,data=df2) > summary(Model2)
Call:
lm(formula = Response ~ offset(1.34 * a1) + a2, data = df2)
Residuals:
Min 1Q Median 3Q Max -10.890 -3.164 1.325 3.358 9.870
Coefficients:
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
Residual standard error: 5.543 on 18 degrees of freedom
Multiple R-squared: 0.3836, Adjusted R-squared: 0.3494
F-statistic: 11.2 on 1 and 18 DF, p-value: 0.003587