r - 如何以紧凑的形式描述回归交互项?
问题描述
我有回归量a
, b
, c
,e_1
并且e_2
我想运行以下回归:
y ~ a + b + c + e_1 + e_2 + a.e_1 + a.e_2 + b.e_1 + b.e_2 + c.e_1 + c.e_2
每个e_1
和都e_2
必须与a
和变量交互。b
c
我实际上有 5 个e
和 5 个其他变量。编写代码而不是单独编写代码的最快方法是a:e_1
什么a:e_2
?
解决方案
如果您知道公式中交互部分的变量分组名称,p
如下q
所示
p <- c("a","b","c")
q <- c("e_1","e_2")
您可以尝试以下代码使用as.formula
and生成整个公式paste0
,即
f <- as.formula(paste0("y ~",paste0(c(p,q,do.call(paste, c(expand.grid(p,q),sep = ":"))),collapse = "+")))
这样
> f
y ~ a + b + c + e_1 + e_2 + a:e_1 + b:e_1 + c:e_1 + a:e_2 + b:e_2 +
c:e_2
和
> class(f)
[1] "formula"
推荐阅读
- javascript - chart.js - 轴选项问题 - 我做错了什么?
- android - 浮动操作按钮不改变布局
- mongodb - Mongo 在集合中的某个索引处获取 10 个文档
- powershell - 跨会话的Powershell作业?
- reactjs - 身份验证 HOC
- node.js - 使用 Webpack 捆绑 Sqlite3 导致编译错误
- javascript - 当您可以选择没有它的元素时,document.getElementById 有什么意义?
- google-sheets - 数组公式,用于根据单元格的匹配条件与表格中的关联值计算范围平均值
- visual-studio-code - Visual Studio Code 调试控制台中的输出问题
- python - 在 python 中使用 Tkinter 时图像显示为空白