忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

小塩先生の潜在成長曲線モデルの例をlavaanパッケージでやってみる。
勝手に感謝。
lavaan公式の通りやったら超簡単にできたんですけど。どういうことなの。。。

####
# lavaanパッケージ読み込み
library(lavaan)
# データフレームをつくる
dat <- data.frame(
  g1 = c(8, 11, 9, 7, 8, 15, 8, 9, 8, 15, 3, 9, 11, 13, 10, 13, 13, 11, 8, 8),
  g2 = c(14, 17, 16, 10, 22, 22, 16, 12, 14, 17, 15, 14, 16, 21, 20, 22, 16, 17, 13, 12),
  g3 = c(16, 20, 20, 19, 28, 30, 25, 25, 24, 14, 15, 21, 18, 28, 25, 23, 23, 23, 18, 15)
)


# モデル生成
# 切片を固定し、傾きを0,1,2とする。
model <- ' i =~ 1*g1 + 1*g2 + 1*g3
           s =~ 0*g1 + 1*g2 + 2*g3'


# あてはめ
fit <- growth(model, data=dat)


# 結果表示。小塩先生のspssの結果と完全に一致する。
summary(fit)


#########
# 例2
# データ読み込み(大本は小塩先生のデータだが、いまだにRですんなりxlsを読めないのでcsvにさせていただいた)
dat2 <- read.csv("http://eau.uijin.com/about/datasets/data_IQ.csv", header=T)
names(dat2) <- tolower(names(dat2)) # 変数名を小文字にする。自分が打ちやすいというだけ



####
model2 <- ' i =~ 1*w1 + 1*w2 + 1*w3 + 1*w4
           s =~ 0*w1 + 1*w2 + 2*w3 + 3*w4 '
fit2 <- growth(model2, data=dat2)


# 結果
summary(fit2)


####
model3 <- ' 
  i =~ 1*w1 + 1*w2 + 1*w3 + 1*w4
  s =~ 0*w1 + 1*w2 + 2*w3 + 3*w4
  # iq~week covariance
  i ~ iq
  s ~ iq
'
fit3 <- growth(model3, data = dat2)



# 基本的に同じ結果
summary(fit3)


結論:やっぱりRとlavaanはすごい。
PR
プロフィール
HN:
tao
HP:
性別:
非公開
職業:
会社員
趣味:
アウトドア、自転車、ジョギング、英語学習
自己紹介:
・千葉在住のサラリーマンです。データ分析っぽいことが仕事。
・今年英検1級取得。今はTOEIC高得点を目指して勉強中。
・興味のあることは野球、アウトドア、英語学習、統計、プログラミング、PC関係などなど。
ブログ内検索
freead
順位表
プロ野球データFreak
セリーグ順位表
パリーグ順位表