2010-12-17 33 views
1

私は2つの変数に依存してお互いに依存する2つの扶養家族を持っていますが、これはRでモデル化できますか(!である必要があります)。明確に言えば多変量回帰

私は以下のモデルで私のデータをモデル化する:

Y1=X1*coef1+X2*coef2 
Y2=X1*coef2+X2*coef3 

注:coef2は両方のラインに表示されます 西、李は

それぞれ入力と出力のデータであり、

私はこれを遠くに持っています:

lm(Y1~X1+X2,mydata) 

クロス依存を含むモデルの2行目?

ご協力いただきありがとうございます。 乾杯、Bastiaan

+3

この質問はおそらく、HTTPに適しています: //stats.stackexchange.com/また、多変量回帰があなたの望むものではないように、タイトルを変更することもできます。これは単純に 'lm(cbind(Y1、Y2)〜X1 + X2、mydata)'でしょう。 2つの重みを等しくなるように制約することなく、両方の回帰を別々に行うのと同じです。あなたは構造方程式モデリングを調べなければならないかもしれません。パッケージ 'sem'、' lavaan'、 'OpenMx'はさらにあなたを得るでしょう。また、http://cran.r-project.org/doc/contrib/Fox-Companion/appendix-sems.pdf – caracal

+0

を参照することができます。r-helpでこの問題が発生したとき、Y1とY2はxで、角度に依存する距離のy投影。測定された測定値の数、分析中のユニットごとの測定値の種類、またはアナリストが中心からの距離を制御する必要があるかどうかは決して明確ではありませんでした。より多くの文脈を含めると、より良い答えが得られるかもしれません。 –

+0

2年後にチェックバック。私はR-Helpで投稿しただけだと思った。とにかく、私の解決策は、Rから離れたり、関数の組み込みを使わずにRにとどまることでした。一種の失望ですが、うまくいきました。 – Bastiaan

答えて

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の真coefsを回復しない参照してください。

> lm(y ~. - 1, DF2) 

Call: 
lm(formula = y ~ . - 1, data = DF2) 

Coefficients: 
    x1  x2  x3 
2.084 2.997 4.007 
関連する問題