#探索的因子分析 x <- read.delim("clipboard") install.packages(c("lavaan","semTools","semPlot")) library(lavaan) library(semTools) library(semPlot) factanal(x,factors=7,rotation="promax") factanal(x,factors=3,rotation="promax") #確認的因子分析 HS.model.cfa <- ' syudan=~ syudan1 + syudan2 + syudan3 setubi=~ setubi1 + setubi3 star=~ star1 + star2 + star3 entertainment=~ entertainment1 + entertainment2 media=~ media1 + media2 + media3 net=~ net1 + net3 sns=~ sns1 + sns2' fit <- lavaan(HS.model.cfa, data=x,  auto.var=TRUE, auto.fix.first=TRUE,auto.cov.lv.x=TRUE) summary(fit, fit.measures=TRUE,standardized=T,rsquare=T) #結果出力 modindices(fit,sort=T) HS.model.cfa <- ' syudan=~ syudan1 + syudan2 rule=~ rule1 + rule2 + rule3 entertainment=~ entertainment1 + entertainment2' fit <- lavaan(HS.model.cfa, data=x,  auto.var=TRUE, auto.fix.first=TRUE,auto.cov.lv.x=TRUE) summary(fit, fit.measures=TRUE,standardized=T,rsquare=T) modindices(fit,sort=T) #SEM #測定方程式  因子名は適当につけてok。それと観測される変数を関連づける HS.model.sem <- ' syudan=~ syudan1 + syudan2 + syudan3 setubi=~ setubi1 + setubi3 star=~ star1 + star2 + star3 entertainment=~ entertainment1 + entertainment2 media=~ media1 + media2 + media3 net=~ net1 + net3 sns=~ sns1 + sns2 HS.model.sem <- ' syudan=~ syudan1 + syudan2 rule=~ rule1 + rule2 + rule3 entertainment=~ entertainment1 + entertainment2 #構造方程式  因子間の関係は下記のように指定 kyougikansen ~ syudan + setubi + star + entertainment + media + net + sns + sportskeiken + sex' yachtkansen ~ syudan + rule + entertainment + sportskeiken + sex' fit.sem <- lavaan(HS.model.sem, data=x,  auto.var=TRUE, auto.fix.first=TRUE,auto.cov.lv.x=TRUE) summary(fit.sem, fit.measures=TRUE,standardized=T,rsquare=T) #結果出力