728x90
반응형
1. 패키지 설치 및 로드
먼저, Rasch 분석을 수행하기 위해 필요한 패키지를 설치하고 불러온다.
install.packages(c("readxl", "eRm", "TAM", "WrightMap")) library(readxl) # Excel 파일 불러오기 library(eRm) # Rasch 모델 분석 library(TAM) # 적합도 지수 계산 library(WrightMap) # 라쉬 분석 시각화 |
2. Excel 데이터 불러오기
엑셀 파일을 읽어와 데이터 프레임으로 변환한다.
# 파일 경로 지정 (예: "C:/Users/username/A_Rasch.xlsx") data <- read_excel("A_Rasch.xlsx") # 응답 데이터 추출 (5열부터 문항 응답) items <- data[, 5:ncol(data)] # 결측값 처리 (완전한 케이스만 선택) complete_cases <- complete.cases(items) items_clean <- items[complete_cases, ] |
3. Rasch 모델 적합
Rasch 모델을 적합하고 문항 난도 계산해보기
# 이분형 데이터에 대한 Rasch 모델 적합 rasch_model <- RM(items_clean) # 문항 난이도 확인 item_difficulty <- -coef(rasch_model) # β_i = -난이도 print(item_difficulty) |
4. 적합도 지수(MNSQ) 계산
방법 1: eRm 패키지 활용
# 문항 적합도 계산 (Infit/Outfit MNSQ) item_fit <- item.fit(rasch_model) print(item_fit) |
방법 2: TAM 패키지 활용
# TAM으로 Rasch 모델 재적합 tam_model <- tam.mml(items_clean) # MNSQ 계산 (Infit/Outfit) fit_indices <- msq.itemfit(tam_model) summary(fit_indices) |
5. 결과 해석
- MNSQ 기준값:
- 0.5 ~ 1.5: 양호한 적합 (Overfit 또는 Underfit 없음)
- >1.5: 예측보다 큰 변동 (Underfit)
- <0.5: 예측보다 작은 변동 (Overfit)
6. 시각화 (선택사항)
# Wright Map 생성 (문항-능력 분포) wrightMap(rasch_model$betapar, rasch_model$theta) |
728x90
반응형
'자기계발 > Rasch분석' 카테고리의 다른 글
Rasch 분석 - 9. Item reliability (0) | 2025.04.28 |
---|---|
Rasch 분석 - 8. Item realiability, Person realiability, Cronbachs' alpha 구하기 (0) | 2025.04.13 |
Rasch 분석 - 6. Wright Map 해석 (0) | 2025.03.31 |
Rasch 분석 - 5. 샘플 데이터를 통해 실습해보기. (예제 1) (0) | 2025.03.31 |
Rasch 분석 - 4. Rasch 분석 패키지 설치 (0) | 2025.03.31 |