【Rで多変量解析#13】パス解析

記事の目的

パス解析をRを使用して実装していきます。データの作成から実装するので、コピペで再現することが可能です。

 

目次

  1. ライブラリ
  2. データの作成
  3. パス解析

 

1 ライブラリ

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

 

2 データの作成

set.seed(1)
線形代数 <- rnorm(100, 50, 10) %>% round()
微積分 <- rnorm(100, 50, 10) %>% round()
機械学習 <- rnorm(100, 0.7*線形代数+0.3*微積分, 5) %>% round()
NN <- rnorm(100, 0.2*線形代数+0.8*微積分, 5) %>% round()
data <- data.frame(線形代数, 微積分, 機械学習, NN)
data <- apply(data, 2, scale)
data %>% head()

 

3 分析結果

data.model <- '
機械学習 ~ 線形代数+微積分
NN ~ 線形代数+微積分
'
model <- sem(data.model, data=data)
summary(model)
semPaths(model, "model", "est", rotation = 2,
mar=c(5,8,5,14), # 余白の指定、下、左、上、右の順
edge.label.cex=2, # 矢印の係数の文字の大きさ
sizeMan = 15,
sizeLat = 15,
style = "lisrel",
curve = 3,
nCharNodes = 4
)