Линейные модели в R с различными комбинациями переменных фрейма данных - PullRequest
0 голосов
/ 28 мая 2019

У меня есть фрейм данных (myvar) с именами столбцов от act1_1 до act1_144 (dependent variable), заполненными числовыми значениями и 7 столбцами с социально-демографическими данными, DVAge, DVHsize, dhhtype, deconact, Income, NumChild и Rooms (independent variables).

independents<-DVType[, 1:144] 
dependents<-DVType[, 145:151]



myvar<-cbind(dependents,independents)

Я пытаюсь сгенерировать модель линейной регрессии, используя переменные социально-демографических столбцов, и пробую все возможные комбинации, такие как доход, доход + число, доход + комнаты, ..., dhhtype + деконтакт .... проблемы с генерацией комбинаций с фреймом данных.

Мне удалось регрессировать зависимые переменные в независимую переменную.

 fit<-lm(as.matrix(dependents) ~ -1 + model.matrix(~ ., data = independents  ))
    require(broom)
    summary(fit)

Output:

    Response DVHsize :

    Call:
    lm(formula = DVHsize ~ -1 + model.matrix(~., data = independents))

    Residuals:
        Min      1Q  Median      3Q     Max 
    -3.1356 -1.0056 -0.2886  0.9597  7.2341 

    Coefficients:
                                                       Estimate Std. Error t value Pr(>|t|)    
    model.matrix(~., data = independents)(Intercept)  3.616e+00  4.300e-02  84.096  < 2e-16 ***
    model.matrix(~., data = independents)act1_1      -2.788e-05  2.911e-05  -0.958  0.33822    
    model.matrix(~., data = independents)act1_2       3.703e-05  2.898e-05   1.278  0.20138    
    model.matrix(~., data = independents)act1_3      -4.458e-06  2.177e-05  -0.205  0.83773    
    model.matrix(~., data = independents)act1_4       2.120e-05  2.557e-05   0.829  0.40705    
    model.matrix(~., data = independents)act1_5       2.327e-05  2.724e-05   0.854  0.39296    
    model.matrix(~., data = independents)act1_6      -4.578e-05  2.299e-05  -1.991  0.04644 *  
    model.matrix(~., data = independents)act1_7       2.087e-05  1.971e-05   1.058  0.28985    
    model.matrix(~., data = independents)act1_8      -4.694e-06  2.019e-05  -0.233  0.81612    
    model.matrix(~., data = independents)act1_9       3.604e-06  1.756e-05   0.205  0.83738    
    model.matrix(~., data = independents)act1_10     -2.924e-06  1.685e-05  -0.174  0.86225    
    model.matrix(~., data = independents)act1_11      4.934e-06  1.671e-05   0.295  0.76782    

....

Как можно расширить это, чтобы идентифицировать все комбинации?

1 Ответ

1 голос
/ 30 мая 2019

Если я правильно понимаю, ваша формула неверна, ваши предикторы (independents) должны быть в 7 столбцах, которые вы упомянули. Я не уверен, что "все возможные комбинации" это именно то, что вы хотите, может быть, вы хотите только взаимодействия второго порядка (и не перехватывать из-за -1)? В этом случае вы, вероятно, можете сделать следующее (см. также этот вопрос ):

fit <- lm(sprintf("cbind(%s) ~ . ^ 2 - 1",
                  toString(paste("act1", 1:144, sep = "_"))),
          data = DVType)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...