【问题标题】:Paste text as formula for biglm将文本粘贴为 biglm 的公式
【发布时间】: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
  • 嗨,欢迎来到 SO。由于您是新手,您可能需要阅读网站的aboutFAQ 部分,以帮助您充分利用它。如果某个答案确实解决了您的问题,您可能需要考虑投票和/或将其标记为已接受,以表明问题已得到回答,方法是勾选合适答案旁边的绿色小复选标记。您没有义务这样做,但它有助于保持网站没有未回答的问题,并奖励那些花时间解决您的问题的人。

标签: r


【解决方案1】:

lm 自动将合适的对象强制为formula 对象,而biglm 不会。自己动手吧....

lm_big<-biglm( as.formula( formula ) ,data=data,weights=~weight)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多