【发布时间】:2013-08-06 14:19:16
【问题描述】:
我尝试在大型数据集上运行多重线性回归。基本上 biglm 工作正常。现在我尝试找到一种方便的方法来自动创建我的公式,使用一个向量,包含我的因变量和一个字符串,包含我的公式的其余部分。两个字符串一起是我的公式。 这适用于 lm() 但使用 biglm() 会导致错误
可复制的例子:
library(biglm)
data<-data.frame(av=c(1,2,3,4,5,6,5,4,5,5),
uv1=c(1,2,5,5,4,56,3,4,5,6),
uv2=c(4,5,8,3,2,7,6,2,4,6),
weight=c(1.2,1,1,1,1,1,1,1,0,0))
dependent<-c('av')
independent<-'~ uv1 + uv2 -1'
formula<-paste(dependent[1],independent)
#this works fine
lm_standard<-lm(formula,data=data,weights=weight)
#and this works fine
lm_big1<-biglm(av~uv1+uv2-1,data=data,weights=~weight)
#and here comes the error
lm_big<-biglm(formula,data=data,weights=~weight)
错误:$ 运算符对原子向量无效
我不使用 as.formula(),因为我不知道如何将 -1 添加到 as.formula() 对象。我对 as.formula() 问题的解决方法会导致错误消息。是否可以 a) 使用缺少截距的 as.formula() 或 b) 以 biglm() 可以理解的方式粘贴公式?
【问题讨论】:
-
类似解决方案here
标签: r