带数据表的线性回归回路&引用;data.table列或参数(nr)中的错误为NULL“;
由于我的数据集非常庞大,我想自动化一些过程。我发现了这一点,它提出了一个线性回归循环,对于数据集带数据表的线性回归回路&引用;data.table列或参数(nr)中的错误为NULL“;,r,data.table,lapply,lm,R,Data.table,Lapply,Lm,由于我的数据集非常庞大,我想自动化一些过程。我发现了这一点,它提出了一个线性回归循环,对于数据集mtcars,它如下所示: data.table(mtcars)[, .(MyFits = lapply(.SD, function(x) if(is.numeric(x)) summary(lm(mpg ~ x)))), .SDcols = -1] 我曾尝试将其应用于我自己的数据集,但成功率有限。我确实得到了输出,但有一个问题。某些拟合的结果为空,因此当我尝试执行建议的操作时,Fits[,lap
mtcars
,它如下所示:
data.table(mtcars)[, .(MyFits = lapply(.SD, function(x) if(is.numeric(x)) summary(lm(mpg ~ x)))), .SDcols = -1]
我曾尝试将其应用于我自己的数据集,但成功率有限。我确实得到了输出,但有一个问题。某些拟合的结果为空,因此当我尝试执行建议的操作时,Fits[,lapply(MyFits,coef)]
我得到:
data.table列或参数3中的错误为NULL
我能否以某种方式使Fits[,lappy(MyFits,coef)]
跳过MyFits
中的NULL
编辑:为了清晰起见,注释所指的问题已被删除。
Fits=data.table(mtcars)[,(nm=names(.SD),MyFits=lappy(.SD,函数(x)if(is.numeric(x))summary(lm(mpg~x)),.SDcols=-1]
?当人们在没有说明原因的情况下否决一个问题时总是很好的。@Frank,你的答案很有效,非常感谢你!亲爱的汤姆,请填写“免费”以发布答案,如果有效,请接受。@Frank post作为答案,谢谢?