Взаимодействие между непрерывной и категориальной переменной в R: есть ли способ включить все категории? - PullRequest
0 голосов
/ 22 января 2019

Есть ли способ запустить линейную регрессию с R с терминами взаимодействия между непрерывной и категориальной переменной, но исключая саму непрерывную переменную?

Я изучаю связь между арендной платой за жилье и жилой площадью.В моем наборе данных есть четыре разных региона, и я предполагаю, что отношения между ними разные.Я использую линейную регрессию rent на region и взаимодействие между floorspace и region, и я хочу иметь коэффициенты на region и на условиях взаимодействия, но использую lm с силами членов взаимодействия floorspace тоже как независимая переменная.

Вот как это происходит:

lm(formula = rent ~ factor(region) + factor(region) * floorspace, 
    data = mydataset)

Coefficients:
                                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)                       4.67252    0.06792  68.792  < 2e-16 ***
factor(region)2                  -0.39859    0.09453  -4.216 2.52e-05 ***
factor(region)3                  -0.23631    0.17870  -1.322 0.186078    
factor(region)4                  -0.49076    0.10329  -4.751 2.07e-06 ***
floorspace                       -0.38658    0.01539 -25.119  < 2e-16 ***
factor(region)2:floorspace        0.20481    0.02145   9.550  < 2e-16 ***
factor(region)3:floorspace       -0.00884    0.03987  -0.222 0.824552    
factor(region)4:floorspace        0.08022    0.02348   3.416 0.000638 ***

Вместо этого я хочу вот что:

Coefficients:
                                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)                       4.67252    0.06792  68.792  < 2e-16 ***
factor(region)2                  -0.39859    0.09453  -4.216 2.52e-05 ***
factor(region)3                  -0.23631    0.17870  -1.322 0.186078    
factor(region)4                  -0.49076    0.10329  -4.751 2.07e-06 ***
factor(region)1:floorspace       -0.38658    0.01539 -25.119  < 2e-16 ***
factor(region)2:floorspace       -0.18177    ???????   ?????  ??????? 
factor(region)3:floorspace       -0.39543    ???????   ?????  ???????    
factor(region)4:floorspace       -0.30636    ???????   ?????  ??????? 

Причина в интерпретацииС этой точки зрения имеет смысл показывать эффект floorspace для каждого региона отдельно, вместо того, чтобы показывать его для region=1 с floorspace, а остальное как разницу между эффектом для данного региона и region=1

1 Ответ

0 голосов
/ 22 января 2019

Сначала я сделаю набор тестовых данных с: mydataset = data.frame(rent=runif(100), region=sample(1:4, 100,TRUE), floorspace=runif(100))

Возьмите линейный член в floorspace из формулы путем вычитания:

    summary(lm(formula = rent ~ factor(region) + factor(region) * floorspace - floorspace, data=mydataset))

    Call:
    lm(formula = rent ~ factor(region) + factor(region) * floorspace - 
        floorspace, data = mydataset)

    Residuals:
         Min       1Q   Median       3Q      Max 
    -0.52917 -0.26151  0.01225  0.24816  0.52392 

    Coefficients:
                               Estimate Std. Error t value Pr(>|t|)    
    (Intercept)                 0.50329    0.09238   5.448 4.23e-07 ***
    factor(region)2             0.01331    0.13804   0.096    0.923    
    factor(region)3             0.05716    0.16860   0.339    0.735    
    factor(region)4            -0.03252    0.16234  -0.200    0.842    
    factor(region)1:floorspace  0.16273    0.22805   0.714    0.477    
    factor(region)2:floorspace  0.01638    0.19894   0.082    0.935    
    factor(region)3:floorspace -0.14251    0.20262  -0.703    0.484    
    factor(region)4:floorspace -0.05094    0.24191  -0.211    0.834    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...