통계학

요인분석 8. 인자계수 결정을 위한 카이제곱 검정

써머23 2025. 6. 8. 18:00
728x90

# 앞 장의 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)

 

=> 실제로는 변수수가 아주 많고 요인수가 적어야 자유도가 양수가 되므로 검정이 어렵다

728x90