요인분석 8. 인자계수 결정을 위한 카이제곱 검정
# 앞 장의 R코드에서 일부분 추가
# 필요한 패키지 로드
library(readxl) # 엑셀 파일 읽기
library(psych) # 요인분석
# 엑셀 파일 경로
file_path <- "d:/mydata/PCA용.xlsx"
# 데이터 불러오기
data <- read_excel(file_path, sheet = 1)
# 분석할 변수 선택
vars <- c("스윙률", "컨택률", "타구속도", "발사각도")
df <- na.omit(data[vars]) # 결측치 제거
# 최대가능도 인자분석 (요인 수 = 2)
fa_result <- fa(df, nfactors = 2, fm = "ml", rotate = "none", scores = "regression")
# 결과 출력
print(fa_result)
# 인자적재행렬
cat("\n[요인 적재행렬 (L)]\n")
print(fa_result$loadings)
# 요인 점수
cat("\n[요인 점수 (F)]\n")
head(fa_result$scores)
# 카이제곱 검정 결과 출력
cat("\n[요인수 적합성에 대한 카이제곱 검정 결과]\n")
cat("검정통계량 (Chi-squared):", fa_result$STATISTIC, "\n")
cat("자유도 (df):", fa_result$dof, "\n")
cat("유의확률 (p-value):", fa_result$PVAL, "\n")
# 시각화 (옵션)
fa.diagram(fa_result)
=> 실제로는 변수수가 아주 많고 요인수가 적어야 자유도가 양수가 되므로 검정이 어렵다