Подогнанные значения из другой модели в R - PullRequest
0 голосов
/ 21 сентября 2018

Мне было интересно, возможно ли вычислить подогнанные значения для выборки наблюдений, которая отличается от подвыборки, которая использовалась для выполнения линейной регрессии.В частности, у меня есть полный фрейм данных из 400 человек.Я хочу выполнить две отдельные регрессии OLS, используя субдискретизацию кадра данных в соответствии со значением фиктивного элемента.

ols1<-lm(log_consumption ~ log_wage + Age + Age2 + Education, data=df,  subset = type==1)
ols2<-lm(log_consumption ~ log_wage + Age + Age2 + Education, data=df, subset = type==0)

этот код, очевидно, возвращает мне две отдельные модели и соответствующие подогнанные значения.Однако я хотел бы получить подогнанные значения всех моих данных (то есть подогнанные значения всех 400 человек) сначала в соответствии с моделью 1, затем в соответствии с моделью 2. В основном я хочу сравнить подогнанные значения для всего кадра данных, использующегоразличия между коэффициентами OLS, которые я получаю при двух различных «режимах».

Есть ли способ сделать это в R ??

Спасибо за вашу помощь, Марко

1 Ответ

0 голосов
/ 22 сентября 2018

Похоже, вы хотите predict().Попробуйте: predict(ols1, df) и predict(ols2, df).Вот пример использования набора данных радужной оболочки.

## data  
df <- iris
df$type <- rep(c(0, 1), 75) # 75 type 0 and 75 type 1

## models
ols1 <- lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width,
           data = df, subset = type == 1)
ols2 <- lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width,
           data = df, subset = type == 0)

## predicted values for all the 150 observations
# just for checking: fitted(ols1) and fitted(ols2) give the 75 fitted values
length(fitted(ols1))
length(fitted(ols2))
# here, we want predicted values instead of fitted values
# the the predict() function, we can obtained predicted values for all the 150 observations
predict(ols1, df)
predict(ols2, df)
# check: we have 150 observations
length(predict(ols1, df))
length(predict(ols2, df))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...