【发布时间】:2014-07-20 19:51:12
【问题描述】:
我正在对几个不同的数据集(相同的因变量和自变量)执行相同的回归。但是,有很多自变量,我经常想测试添加/删除不同的变量。我想避免对不同的代码行进行所有这些更改,因为它们使用不同的数据集。我可以只复制用于创建某个对象的公式,然后使用不同的数据集创建一个新对象吗?例如,类似:
fit1 <- lm(y ~ x1 + x2 + x3 + ..., data = dataset1)
fit2 <- lm(fit1$call, data = dataset2) # this doesn't work
fit3 <- lm(fit1$call, data = dataset3) # this doesn't work
这样,如果我想更新许多回归,我只需更新第一个,然后重新运行它们。
这可以吗?最好不使用循环或粘贴()。
谢谢!
【问题讨论】:
-
为什么没有循环结构?
-
我只是在寻找一种更优雅的方式。我可能仍然对使用循环的解决方案感兴趣,但我宁愿尽可能不使用它们。
-
有趣。循环通常比在 IMO 上一遍又一遍地重复类似的语句要优雅得多。
-
虽然我确实认为下面的一些答案更好,但如果你使用
fit$terms而不是fit$call,你的答案会奏效
标签: r regression lm