我想获得线性回归的斜率,以适合1M个单独的数据集(data.frame为1M * 50行,数组为1M * 50)。现在,我正在使用lm()函数,该函数需要很长时间(大约10分钟)。

线性回归有更快的函数吗?

最佳答案

是的,有:

  • R本身具有lm.fit(),它更加简陋:没有公式符号,结果集更简单
  • 我们与Rcpp相关的一些软件包都具有fastLm()实现:RcppArmadillo,RcppEigen和RcppGSL。

  • 我们已经在许多博客文章和演示中描述了fastLm()。如果要以最快的方式使用它,请不要使用公式界面:解析公式和准备模型矩阵比实际回归需要更多时间。

    就是说,如果在单个 vector 上回归单个 vector ,则可以简化此步骤,因为不需要矩阵包。

    关于r - 是否有更快的lm功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25416413/

    10-13 00:05