top of page

data923 <- read.csv("Table923.csv")
data923
attach(data923)

cor(data923)#相関行列

model1 <- lm(Y~X6)#公開授業の数
summary(model1)
AIC(model1)


model2 <- lm(Y~X7)#企画数
summary(model2)
AIC(model2)


model3 <- lm(Y~X6+X7)#企画数、公開授業の数
summary(model3)
AIC(model3)

# 標準偏回帰係数(β)を求める
z <- scale(data923)# 得点を標準化
z <- data.frame(z)# データフレーム形式に戻す 
summary(lm(Y~X6+X7, z))  

#多重共線性のチェック:説明変数間の相関の分析
zx <- z[7:8]
r <- cor(zx)#相関行列
VIF <- diag(solve(r))# 逆行列→対角行列
tolerance = 1/VIF
data.frame(tolerance, VIF)

#VIF >5 (tolerance < 0.2 )の時、多重共線性が疑われる。

#VIF>10以上(tolerance<.01)は重大な問題あり。

#<応用> sem パケージの利用:共分散構造分析(構造方程式モデリング)

# sem パッケージをインストールする場合は、以下を実行

# install.packages("sem")

# 場合によって 以下も必要になります

# install.packages("mi")


library("sem")

data4 <- cbind(Y,X6,X7)

model4 <- specifyEquations()
  Y = b1*X6 + b2*X7


sem4 <- sem(model=model4, S=cov(data4) , N=nrow(data4), fixed.x=c("X6","X7"))
summary(sem4, fit.indices=c("GFI", "AGFI", "CFI", "NFI", "RMSEA", "SRMR"))

standardizedCoefficients(sem4)

#作図    フリーソフト Graphviz を使っています

install.packages("DiagrammeR")
# パス図の出力
pathDiagram(sem4, ignore.double=FALSE, edge.labels="values", digits=2,standardize=TRUE)

#Graphvizがない場合でも、以下の方法で Graphvizと同じ作図が、Rのパッケージでできます。

#インストールは、それぞれおこなってください。

#それぞれ数分かかります。途中で質問 y/n ? が来たら、y を入力。

install.packages("DiagrammeR")

install.packages("scales")

#作図するには、以下のようにします。

pathDiagram(sem4,standardize=TRUE, ignore.double=FALSE, edge.labels="values", digits=2, node.font=c("HGRGE", 10))

bottom of page