【Rで多変量解析#14】構造方程式モデル

記事の目的

構造方程式モデルをRを使用して実装していきます。データの作成から実装するので、コピペで再現することが可能です。

 

目次

  1. ライブラリ
  2. データの作成
  3. 構造方程式モデル

 

1 ライブラリ

library(dplyr)
library(ggplot2)
library(lavaan)
library(semPlot)

 

2 データの作成

set.seed(1)
数学力 <- rnorm(100, 50, 10)
プログラミング力 <- rnorm(100, 数学力, 5)
微積分 <- rnorm(100, 数学力, 5) %>% round()
統計学 <- rnorm(100, 数学力, 5) %>% round()
線形代数 <- rnorm(100, 数学力, 5) %>% round()
R言語 <- rnorm(100, プログラミング力, 5) %>% round()
Python <- rnorm(100, プログラミング力, 5) %>% round()
data <- data.frame(微積分, 統計学, 線形代数, R言語, Python)
data <- apply(data, 2, scale)
data %>% head()

 

3 分析結果

data.model <- '
数学=~微積分+統計学+線形代数
プログラミング力=~R言語+Python
数学=~プログラミング力
'
model <- sem(data.model, data)
summary(model)
semPaths(model, "model", "est", rotation = 2,
mar=c(5,6,5,6), # 余白の指定、下、左、上、右の順
edge.label.cex=1.0, # 矢印の係数の文字の大きさ
sizeMan = 12,
sizeLat = 12,
style = "lisrel",
curve = 3,
nCharNodes = 7
)