作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
glmnet 中有没有办法进行一阶交互?
例如,如果我的 X 矩阵是:
V1 V2 V3
0 1 0
1 0 1
1 0 0
...
有没有办法指定它在不手动创建列的情况下按照 `y~ V1 + V2 + V3 + V1*V2 + V2 *V3 + V1*V3' 执行某些操作?我的实际矩阵更大,手动创建所有一阶交叉产品会很痛苦。
最佳答案
此类公式的正确 R 语法是
y~(V1+V2+V3)^2
例如
set.seed(15)
dd <- data.frame(V1=runif(50), V2=runif(50), V3=runif(50), y=runif(50))
lm(y~(V1+V2+V3)^2, dd)
Call:
lm(formula = y ~ (V1 + V2 + V3)^2, data = dd)
Coefficients:
(Intercept) V1 V2 V3 V1:V2 V1:V3 V2:V3
0.54169 -0.10030 -0.01226 -0.10150 0.38521 -0.03159 0.01200
或者,如果要对 y
以外的所有变量进行建模,
lm(y~(.)^2, dd)
Call:
lm(formula = y ~ (.)^2, data = dd)
Coefficients:
(Intercept) V1 V2 V3 V1:V2 V1:V3 V2:V3
0.54169 -0.10030 -0.01226 -0.10150 0.38521 -0.03159 0.01200
两者都一样
lm(y~V1+V2+V3+V1:V2+V1:V3+V2:V3, dd)
Call:
lm(formula = y ~ V1 + V2 + V3 + V1:V2 + V1:V3 + V2:V3, data = dd)
Coefficients:
(Intercept) V1 V2 V3 V1:V2 V1:V3 V2:V3
0.54169 -0.10030 -0.01226 -0.10150 0.38521 -0.03159 0.01200
您可以将这些公式与 model.matrix
一起使用来创建矩阵
model.matrix(y~(V1+V2+V3)^2,dd)
关于r - 如何为 Lasso Logistic 回归生成所有一阶交互项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27577420/
我是一名优秀的程序员,十分优秀!