【问题标题】:Using variable to select covariates for glm使用变量为 glm 选择协变量
【发布时间】:2020-05-30 18:53:21
【问题描述】:

我正在使用随机数据对多个实验进行模拟,以创建 glm 模型。在每个单独的实验中,我需要选择不同的协变量来构建 glm。有没有办法使用变量名称来指定在公式中使用哪些协变量?例如,对于一个名为 data 的数据框,它将包含标题 y 以及一组随每次迭代而变化的其他标题,例如:

data <- data.frame(x1 = c(1:100),x2 = c(2:101),x3 = c(3:102),x4 = c(4:103),x5 = c(5,104),y = c(6:105))

#Experiment #1:
covars = c(x1,x2,x4)
glm(y ~ sum(covars),data=data)

#Experiment #2:
covars = c(x1,x3,x4,x5)
glm(y ~ sum(covars),data=data)

#Experiment #3:
covars = c(x2,x4,x5)
glm(y ~ sum(covars),data=data)

#etc...

到目前为止,我已尝试将这种方法与 sum & colnames 函数一起使用,但出现以下错误:“参数的'类型'(字符)无效”

谢谢!

【问题讨论】:

  • 你能检查下面的解决方案吗
  • 使用reformulate 甚至substitute

标签: r formula glm


【解决方案1】:

我们可以使用.来表示除依赖列'y'之外的所有列

glm(y ~ ., data = data)

【讨论】:

  • 我想我没有在问题中指出这一点,但我实际上希望选择数据中列的子集作为协变量。知道怎么做吗?
  • @LothartheQuick 是的,您的 glm 代码令人困惑,这就是我有一些疑问的原因
  • @LothartheQuick sum(colnames(data) except column y) 这表示您需要拥有除“y”之外的所有其他列
猜你喜欢
  • 1970-01-01
  • 2016-05-26
  • 1970-01-01
  • 1970-01-01
  • 2015-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
相关资源
最近更新 更多