簡體   English   中英

R中連續變量和分類變量之間的相互作用:是否可以包含所有類別?

[英]Interaction between continuous and categorical variable in R: is there a way to include all categories?

有沒有一種方法可以在連續變量和類別變量之間使用交互項,但不包括連續變量本身,從而使用R進行線性回歸?

我正在研究房屋租金和居住面積之間的關系。 我的數據集中有四個不同的區域,我假設它們之間的關系是不同的。 我正在使用rentregion以及floorspaceregion之間的交互作用的線性回歸,並且我希望在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效果,而不是使用floorspaceregion=1時顯示floorspace ,而其余​​部分則是給定區域和region=1的效果之間的差異

首先,我將創建一個測試數據集: 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    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM