2017-10-04 73 views
-1

我試圖運行與變量本身的相互作用(例如,wt_cyl * cyl)來估計二次模型(例如wt_cyl + cyl_2)以便使用用於交互的後估計工具。但是,結果會自動忽略交互項。有沒有一種方法可以指定R中的二次模型?我以爲我之前做過,但沒有在R 3.4.1或3.4.2中做過。以下是玩具代碼,包括我的會話信息。感謝任何意見和幫助!在R中不再自我交互?


summary(lm(wt ~ cyl * cyl, data = mtcars)) 
#> 
#> Call: 
#> lm(formula = wt ~ cyl * cyl, data = mtcars) 
#> 
#> Residuals: 
#>  Min  1Q Median  3Q  Max 
#> -0.8243 -0.4293 -0.1518 0.3031 1.4297 
#> 
#> Coefficients: 
#>    Estimate Std. Error t value Pr(>|t|)  
#> (Intercept) 0.56462 0.40062 1.409 0.169  
#> cyl   0.42871 0.06228 6.883 1.22e-07 *** 
#> --- 
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
#> 
#> Residual standard error: 0.6193 on 30 degrees of freedom 
#> Multiple R-squared: 0.6123, Adjusted R-squared: 0.5994 
#> F-statistic: 47.38 on 1 and 30 DF, p-value: 1.218e-07 


devtools::session_info() 
#> Session info ------------------------------------------------------------- 
#> setting value      
#> version R version 3.4.2 (2017-09-28) 
#> system x86_64, mingw32    
#> ui  RTerm      
#> language (EN)       
#> collate English_United States.1252 
#> tz  America/Chicago    
#> date  2017-10-04 
#> Packages ----------------------------------------------------------------- 
#> package * version date  source        
#> backports 1.1.1  2017-09-25 CRAN (R 3.4.1)      
#> base  * 3.4.2  2017-09-28 local        
#> compiler 3.4.2  2017-09-28 local        
#> datasets * 3.4.2  2017-09-28 local        
#> devtools 1.13.3  2017-08-02 CRAN (R 3.5.0)      
#> digest  0.6.12  2017-01-27 CRAN (R 3.3.2)      
#> evaluate 0.10.1  2017-06-24 CRAN (R 3.4.0)      
#> formatR  1.5  2017-04-25 CRAN (R 3.5.0)      
#> graphics * 3.4.2  2017-09-28 local        
#> grDevices * 3.4.2  2017-09-28 local        
#> htmltools 0.3.6  2017-04-28 CRAN (R 3.4.0)      
#> knitr  1.17  2017-08-10 CRAN (R 3.5.0)      
#> magrittr 1.5  2014-11-22 CRAN (R 3.3.2)      
#> memoise  1.1.0  2017-04-21 CRAN (R 3.4.0)      
#> methods * 3.4.2  2017-09-28 local        
#> Rcpp  0.12.13 2017-09-28 CRAN (R 3.4.2)      
#> rmarkdown 1.6.0.9001 2017-07-03 Github (rstudio/[email protected]) 
#> rprojroot 1.2  2017-01-16 CRAN (R 3.3.2)      
#> stats  * 3.4.2  2017-09-28 local        
#> stringi  1.1.5  2017-04-07 CRAN (R 3.4.1)      
#> stringr  1.2.0  2017-02-18 CRAN (R 3.3.2)      
#> tools  3.4.2  2017-09-28 local        
#> utils  * 3.4.2  2017-09-28 local        
#> withr  2.0.0  2017-10-03 Github (r-lib/[email protected])  
#> yaml  2.1.14  2016-11-12 CRAN (R 3.3.2) 
+0

'LM(重量〜CYL * I(CYL^2) - 1,數據= mtcars)' –

回答

1

這應該從未做過在R.二次項在公式中的*爲變量相互作用(和可變不應本身相互作用)。如果你想二次項使用

summary(lm(wt ~ poly(cyl, 2, raw=TRUE), data = mtcars)) 

summary(lm(wt ~ cyl + I(cyl^2), data = mtcars))