Jason Samuels
Jason Samuels

Reputation: 971

How to force a regression through the origin R

I am using R to do some multiple regression. I know that if you input for instance reg <- lm(y~ 0 + x1+ x2, data) you will force the regression model through the origin.

My problem is that i have alot of independant variables(+/-100) and R does not seem to read all of them if i input it this way

  lm(y~ 0 + x1 + x2 + ... + x100, data)

The code use is as follows:

[1] data <- read.csv("Test.csv")
[2] reg <- lm(data)
[3] summary(reg)

What do i need to put in line 2 so that i can force the model through the origin? reg <- lm(0 + data) does not work.

Upvotes: 3

Views: 9376

Answers (1)

Thomas
Thomas

Reputation: 44535

Put your variables in a dataframe and use .:

lm(y ~ 0 + ., data)

See documentation:

There are two special interpretations of . in a formula. The usual one is in the context of a data argument of model fitting functions and means ‘all columns not otherwise in the formula’: see terms.formula. In the context of update.formula, only, it means ‘what was previously in this part of the formula’.

Upvotes: 7

Related Questions