使用lm,我想拟合模型:y = b0 + b1*x1 + b2*x2 + b1*b2*x1*x2
我的问题是:如何指定相互作用的系数应该等于系数乘以主效应?
我已经看到将系数设置为特定值,您可以使用offset()和I(),但我不知道如何指定系数之间的关系.
这是一个简单的模拟数据集:
n <- 50 # Sample size
x1 <- rnorm(n, 1:n, 0.5) # Independent variable 1
x2 <- rnorm(n, 1:n, 0.5) # Independent variable 2
b0 <- 1
b1 <- 0.5
b2 <- 0.2
y <- b0 + b1*x1 + b2*x2 + b1*b2*x1*x2 + rnorm(n,0,0.1)
Run Code Online (Sandbox Code Playgroud)
为了拟合模型1:y = b0 + b1*x1 + b2*x2 + b3*x1*x2,我会使用:
summary(lm(y~ x1 + x2 + x1:x2))
Run Code Online (Sandbox Code Playgroud)
但是我如何拟合模型2:y = b0 + b1*x1 + b2*x2 + b1*b2*x1*x2? …