×
[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
Comment
Trackback
Comment form