2017-08-04 82 views
0

我想使用boxTidwell中的包car改善線性迴歸的結果。但是,它總是不起作用。該代碼是這樣的:boxTidwell汽車包裝不能正常工作

library(car) 
boxTidwell(mpg~cyl+disp+hp+drat+wt+qsec, data=mtcars) 

結果表明

「錯誤在lm.fit(cbind(1,x1.p,X2)中,Y,...):NA/NaN/Inf in'x'「

有人能告訴我導致錯誤的原因嗎?我如何才能使boxTidwell運行?

回答

0

你的電話有兩個問題。

  1. 作爲boxTidwell()顯示文檔,需要提供一種第二個參數

other.x片面式給不屬於 候選用於轉化,包括預測器(例如)因素。

另一個answer提到,「選項other.x表明不被改變了迴歸的條款。這將是你的所有分類變量。」

所以運行此代碼(基於boxTidwell()的例子)將工作:

boxTidwell(mpg ~ cyl + disp + hp, ~as.factor(am) + poly(gear, 2), 
      data = mtcars) 
  • 預測因子
  • 對於使用超過某種原因3個預測變量與您原始示例中的一樣,不起作用:

    boxTidwell(mpg ~ cyl + disp + hp + drat + wt + qsec, 
          ~as.factor(am) + poly(gear, 2), 
          data = mtcars) 
    

    錯誤lm.fit(cbind(1,x1.p,X2)中,Y,...):NA/NaN的/ INF在 'X'

    ApparentlyboxTidwell作品具有高達6預測指標,但是當我嘗試運行你的代碼只有4個(),那麼它也返回一個錯誤。