2016-07-25 8 views
1

Rの中でlavaanを使って潜在変数と観測変数の間の相関を計算したいと思います。lavaanの潜在変数と観測変数の間の相関を指定する方法は?

私がしようとしていることの簡単な例です。我々はいくつかのデータとlavaanモデルを持っています。

data(bfi) 
names(bfi) <- tolower(names(bfi)) 
mod <- " 
agree =~ a1 + a2 + a3 + a4 + a5 
consc =~ c1 + c2 + c3 + c4 + c5 
age ~~ agree 
age ~~ consc 
" 
lavaan::cfa(mod, bfi) 

は、5つの指標を持つ潜在変数です。年齢は観測された変数であり、観測された変数ageと潜在変数agreeの間の相関関係を取得したい。 lavaanの共分散を指定する一般的な方法は、変数の間に~~を入れることです。しかし、これは変数の1つが観察されたときには機能しないように見えます。私は、上記を実行すると

、私は次のエラーを取得:他のSEMのソフトウェアで

Error in lav_model(lavpartable = lavpartable, representation = lavoptions$representation, : 
    lavaan ERROR: parameter is not defined: agree ~~ age 

、などアモスなどを、あなただけの潜在と観測された変数間の双方向矢印を描きたいです。

潜在変数と観測変数の相関をlavaanにどのように含めるか?

答えて

3

動作するようです回避策の一つが観測された変数を考えることにlavaanだましているが要因である:

data(bfi) 
names(bfi) <- tolower(names(bfi)) 
mod <- " 
agree =~ a1 + a2 + a3 + a4 + a5 
consc =~ c1 + c2 + c3 + c4 + c5 
agefac =~ age 
agefac ~~ agree 
agefac ~~ consc 
" 
lavaan::cfa(mod, bfi) 

すなわち、agefacは年齢の潜伏版であるが、年齢は唯一の指標との係数であるため、そのインジケータは1に制限され、観察された年齢変数と同じものになります。この疑似潜在変数を使用して、実際の潜在変数と相関させることができます。

0

モデルが変更されない場合は、観測された変数を潜在変数に回帰させることができます。結果として得られる標準化された回帰係数は、@ Jeromyで説明されているように、潜在と準潜在の間の相関に相当します。たとえば:agreeage

mod <- " 
    agree =~ a1 + a2 + a3 + a4 + a5 
    age ~ agree # regression instead of correlation 
" 
lavaan::cfa(mod, bfi) %>% summary(standardized = TRUE) 

標準化回帰係数は、あなたがこれを実行したり、@Jeromyによって記述されたモデルかどうかを同じになります。ただし、標準化されていない係数は同じではありません。

+0

ありがとうございました。悲しいかな、私の例を単純化しようとする私の試みでは、おそらく広範なユースケースを伝えていないでしょう。すなわち、複数の潜在変数を観測変数と相関させたい場合に使用します。私はこれをもっと明確にしようと編集しました。私は、あなたが1つの潜在的なものとマッピングされた潜在的なものが観察されたときにのみ、上記が真実であると考えます。 –

+0

ああ、そうです。はい、複数の潜在的に観測された変数を回帰しても、あなたが望むものは得られません。あなたのソリューションにこだわるのがベストです:) –

関連する問題