我有两个家属,他们都依赖于两个变量而且相互依赖,这可以用R建模(必须是!)但我无法弄清楚如何,任何人提示?
明确表示:
我想用以下模型建模我的数据:
Y1=X1*coef1+X2*coef2
Y2=X1*coef2+X2*coef3
注意:coef2出现在两行中 Xi,Yi分别是输入和输出数据
我到目前为止:
lm(Y1~X1+X2,mydata)
现在如何添加模型的第二行,包括交叉依赖?
非常感谢您的帮助! 干杯,巴斯蒂安
答案 0 :(得分:4)
试试这个:
# sample data - true coefs are 2, 3, 4
set.seed(123)
n <- 35
DF <- data.frame(X1 = 1, X2 = 1:n, X3 = (1:n)^2)
DF <- transform(DF, Y1 = X1 * 2 + X2 * 3 + rnorm(n),
Y2 = X1 * 3 + X2 * 4 + rnorm(n))
# construct data frame for required model
DF2 <- with(DF, data.frame(y = c(Y1, Y2),
x1 = c(X1, 0*X1),
x2 = c(X2, X1),
x3 = c(0*X2, X2)))
lm(y ~. - 1, DF2)
我们确实看到它确实恢复了2,3,4的真实系数:
> lm(y ~. - 1, DF2)
Call:
lm(formula = y ~ . - 1, data = DF2)
Coefficients:
x1 x2 x3
2.084 2.997 4.007