我已经看到了这个错误的几个案例,但他们似乎没有解决或适用于我的情况。
我正在使用biglm
构建逻辑回归模型。
我有一个Data.frame,它有大约250个变量和100多万行。
由于bigglm()
不能使用点符号来选择模型中的所有变量,因此我构建了类似this的公式。
因此,如果f
是公式,df
是 Dataframe ,则模型如下所示:
fit <- bigglm(f, data = df, family=binomial(link="logit"), chunksize=100, maxit=10)
我得到了错误:variable lengths differ (found for 'x')
当我检查x
的长度时,它与df
的长度完全相同。
其他的StackOverflow问题似乎表明这可能是公式构造方式的问题,或者可能是biglm?
的问题
1条答案
按热度按时间kupeojn61#
我能够通过对构建
bigglm()
公式的方式进行轻微修改来解决这个问题正如我的问题中所附的链接所示,我是这样构造公式的:
f
缺少的是公式中每个变量名之前的df$
。修改as.formula()
函数以将"df$"
连接到每个变量名,从而修复了此问题。