【发布时间】:2021-01-24 03:05:09
【问题描述】:
我想在 for 循环中运行线性模型(在本例中为具有两个响应变量的多元模型),其中在每次迭代时都会创建一个名为 bc_applied 的新数据框,以及向量 @987654323 @。在我的代码中,列名"target1" 和"target2" 在每次迭代时都会发生变化,这意味着我不能显式编写变量名,而是想从向量targets 中提取它们。
这是一个例子:
targets <- c("target1","target2")
bc_applied <- data.frame("dsRNA" = c(rep("gene1",5),rep("gene2",5),rep("gene3",5)),
"target1" = runif(15), "target2" = runif(15))
但是在运行的时候
lm(bc_applied[,targets] ~ dsRNA, data = bc_applied)
返回如下错误:
Error in model.frame.default(formula = bc_applied[, targets] ~ dsRNA, :
invalid type (list) for variable 'bc_applied[, targets]'
所需的输出由下式给出
lm(cbind(target1, target2) ~ dsRNA, data = bc_applied)
【问题讨论】: