如何为大量变量运行bigglm函数

时间:2013-11-11 15:06:01

标签: r memory-management bigdata

ffbasehttp://cran.r-project.org/web/packages/ffbase/ffbase.pdf)中有bigglm函数:

bigglm.ffdf(formula, data, family = gaussian(), ...,

其中formula类似Y~X,假设YX对应colnames ffdf对象data }。

如果我在data中有200列我希望放在等式的RHS上怎么办?很明显,我无法输入Y~X1+X2+....+X200

如何在不输入RHS的所有200个变量的情况下运行Y~X1+X2+....+X200

2 个答案:

答案 0 :(得分:3)

.符号是此正常字符,但不确定它是否适用于ffbase。即。

m <- lm(y ~ ., df)

y中的所有其他列描述df

如Chris所述,这似乎是biglm中的错误,可以使用以下方法解决:

m <- bigglm(terms(y ~ ., data=df), data=df)

但是这应该被报告为biglm的作者的错误。

答案 1 :(得分:3)

如果Sam的答案不起作用,你可以建立一个代表公式的字符串,然后将其作为公式:

formula <- as.formula(paste('Y', paste(paste('', 
       paste('X', 1:200, sep = ''), sep = '', collapse = ' + ')), sep = ' ~ '))

内部paste创建X1X200。下一个粘贴将生成的向量折叠为单个字符串,第一个paste的元素与+'放在一起。最后paste添加Y ~。最后,我将它从字符串更改为公式。