关于建立回归模型,包括lm中的交互效应

时间:2014-11-15 20:58:08

标签: r statistics regression

我的数据集如下所示

test<-read.csv("data.csv",sep=",",header=T)

有10个预测变量。第一列是响应变量

x<-test[,-c(1)]
y<-test[,1]

如果我想测试一个包含前三个预测变量的模型,包括它们的交互项,那么我就是用lm

做的
test.model<-lm(y~x[,1]*x[,2]*x[,3], data=test)

但事实证明,生成的模型还包含x[, 1]:x[, 2]:x[, 3]的交互项。如何仅使用两个因素交互来限制模型,例如x[, 1]:x[, 2]x[, 2]:x[, 3]和{ {1}}

如果我想考虑所有10个预测变量,而不是写x[, 1]:x[, 3],是否有方便的方法来编写这个公式?

2 个答案:

答案 0 :(得分:0)

您可以指定与^的最高互动顺序。

y ~ (x[,1] + x[,2] + x[,3]) ^ 2

导致所有双变量相互作用和主效应。

答案 1 :(得分:0)

两点。如果您还要提供数据参数,则将预测变量和响应提取为单独的项是没有意义的。在最坏的情况下,它会在奇怪的时刻开始失败,但至少会让你的合作者感到困惑。如果您有有意义的列名,那么解释起来会很容易。

正如斯文所指出的,你可以使用&#34; ^&#34;公式运算符,这意味着与取幂完全不同的东西。我很确定这是一个重复的问题,所以现在会进行一些搜索。