多因素线性回归
Multi-factor linear regression
df <- data.frame(
num =
c(5, 7, 3,
4, 2, 6,
5, 3, 6,
5, 6, 0,
7, 4, 0,
7, 7, 0,
6, 6, 0,
4, 6, 1,
6, 4, 0,
7, 7, 0,
2, 4, 0,
5, 7, 4,
7, 5, 0,
4, 5, 0,
6, 6, 3
),
x1 = factor(rep(c("xx", "pp", "tru"), 15)),
x2 = factor(rep(c("A", "B", "C"), 15)),
x3 = factor(rep(1:15, rep(3, 15))))
我想计算以下的显着性:
x1
x2
x3
interaction x1/x2
interaction x1/x3
interaction x2/x3
interaction x1/x2/x3
我想我必须做一个线性模型 lm
所以我试过了
lm(df[,"num"] ~ df[,"x1"] * df[,"x2"] * df[,"x3"])
我不确定这是否正确。
经验法则是拟合线性模型,然后执行方差分析:
fit <- lm(num ~ x1 * x2 * x3, data = df)
anova(fit)
但是,你提供的玩具示例真的很糟糕,所以不会看到任何有趣的东西。
- 您有
x1
和 x2
相同(因此它们具有完美的嵌套)。在这方面,你会得到很多NA
个系数;
- 您没有复制。对于每个因子组合,您只有一个观察值,因此您最终会得到零残差的精确拟合。
df <- data.frame(
num =
c(5, 7, 3,
4, 2, 6,
5, 3, 6,
5, 6, 0,
7, 4, 0,
7, 7, 0,
6, 6, 0,
4, 6, 1,
6, 4, 0,
7, 7, 0,
2, 4, 0,
5, 7, 4,
7, 5, 0,
4, 5, 0,
6, 6, 3
),
x1 = factor(rep(c("xx", "pp", "tru"), 15)),
x2 = factor(rep(c("A", "B", "C"), 15)),
x3 = factor(rep(1:15, rep(3, 15))))
我想计算以下的显着性:
x1
x2
x3
interaction x1/x2
interaction x1/x3
interaction x2/x3
interaction x1/x2/x3
我想我必须做一个线性模型 lm
所以我试过了
lm(df[,"num"] ~ df[,"x1"] * df[,"x2"] * df[,"x3"])
我不确定这是否正确。
经验法则是拟合线性模型,然后执行方差分析:
fit <- lm(num ~ x1 * x2 * x3, data = df)
anova(fit)
但是,你提供的玩具示例真的很糟糕,所以不会看到任何有趣的东西。
- 您有
x1
和x2
相同(因此它们具有完美的嵌套)。在这方面,你会得到很多NA
个系数; - 您没有复制。对于每个因子组合,您只有一个观察值,因此您最终会得到零残差的精确拟合。