簡體   English   中英

預測 R 中的多個因變量(以線性模型為例)

[英]Predict multiple dependent variables in R (linear model as example)

讓我們使用mtcars作為示例數據集。

data <- mtcars

現在,我正在創建一個線性模型,其中有兩個因變量( mpgdisp )。 所有其他變量/列都是自變量。 我構建線性函數:

fit <- lm(mpg + disp ~ ., data=data)

我想預測兩個因變量( mpgdisp ),所以我運行predict()

predict(fit, data)

但是,結果每行僅返回一個值,而不是每行返回兩個值(兩個因變量)。 這是輸出:

          Mazda RX4       Mazda RX4 Wag          Datsun 710      Hornet 4 Drive   Hornet Sportabout             Valiant          Duster 360           Merc 240D 
          165.60538           179.57702           159.75746           247.73607           344.79637           251.66598           348.80082           160.58774 
           Merc 230            Merc 280           Merc 280C          Merc 450SE          Merc 450SL         Merc 450SLC  Cadillac Fleetwood Lincoln Continental 
          148.81596           207.46454           200.85338           360.66297           331.60317           331.14515           429.61466           452.19838 
  Chrysler Imperial            Fiat 128         Honda Civic      Toyota Corolla       Toyota Corona    Dodge Challenger         AMC Javelin          Camaro Z28 
          462.42356           126.53160            59.90496            93.95177           149.87657           332.59491           325.64415           380.86739 
   Pontiac Firebird           Fiat X1-9       Porsche 914-2        Lotus Europa      Ford Pantera L        Ferrari Dino       Maserati Bora          Volvo 142E 
          375.64822           111.88026           159.05993           101.86053           369.53347           169.01770           309.00674           177.31316 
  • 如何使用predict()或任何其他函數獲得兩個因變量值?
  • 我如何解釋以前的結果?

請注意,此模型可能不現實或不重要。 純粹是技術編程任務,所以不要去評判模型的效用。

不要添加響應, cbind它們。

fit <- lm(cbind(mpg, disp) ~ ., data=mtcars)
y <- predict(fit)
head(y)
#>                        mpg     disp
#> Mazda RX4         22.37587 143.2295
#> Mazda RX4 Wag     22.07853 157.4985
#> Datsun 710        26.58631 133.1712
#> Hornet 4 Drive    20.82285 226.9132
#> Hornet Sportabout 17.26052 327.5359
#> Valiant           20.46572 231.2003

創建於 2022-12-21,使用reprex v2.0.2

沒有被問到,但它也適用於模型的殘差。

e <- resid(fit)
head(e)
#>                          mpg       disp
#> Mazda RX4         -1.3758673  16.770486
#> Mazda RX4 Wag     -1.0785279   2.501505
#> Datsun 710        -3.7863074 -25.171152
#> Hornet 4 Drive     0.5771451  31.086782
#> Hornet Sportabout  1.4394832  32.464148
#> Valiant           -2.3657210  -6.200261

創建於 2022-12-21,使用reprex v2.0.2


這種cbind的使用是通用的,對於glm的邏輯回歸示例,請參見此處的月經初潮示例。

暫無
暫無

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

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