2017-08-04 93 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个(),那么它也返回一个错误。