다음 단계
이 책을 끝까지 읽었다면 t-검정, ANOVA, 회귀분석, 카이제곱 검정이라는 통계의 핵심 도구를 갖추게 된 것입니다. 이제 어디로 가면 좋을지 안내합니다.
고급 통계로 가는 길
혼합 모형 — lme4
반복 측정 데이터, 다단계 데이터, 학교-학생처럼 집단 안에 개인이 중첩된 데이터를 분석할 때 필요합니다. 일반 ANOVA는 관측치가 독립이라고 가정하는데, 현실 데이터는 그렇지 않은 경우가 많습니다.
# install.packages("lme4")
library(lme4)
# 예: 학생(student)이 여러 학교(school)에 속하는 데이터
# 학교를 랜덤 효과로 처리
model <- lmer(score ~ age + gender + (1 | school), data = students)
summary(model)
(1 | school)이 랜덤 절편을 뜻합니다. 학교마다 기본 점수가 다를 수 있다는 것을 모형에 반영한 것입니다.
베이지안 통계 — brms
전통적인 빈도주의 통계는 "이 데이터가 귀무가설 하에서 얼마나 극단적인가"를 묻습니다. 베이지안 통계는 "이 데이터를 보고 나서 가설이 맞을 확률이 얼마나 되는가"를 묻습니다. 이 차이가 중요한 경우가 많습니다.
# install.packages("brms")
library(brms)
# 베이지안 선형 회귀
bayes_model <- brm(
formula = score ~ age + gender,
data = students,
family = gaussian(),
chains = 4,
iter = 2000
)
# 사후 분포 요약
summary(bayes_model)
# 사후 분포 시각화
plot(bayes_model)
brms는 Stan을 백엔드로 사용합니다. 처음에는 설치가 복잡할 수 있지만, 복잡한 계층 모형을 직관적인 문법으로 표현할 수 있어 많은 연구자가 선택합니다.
구조방정식 모형 — lavaan
여러 잠재 변수(직접 측정할 수 없는 개념)와 그 관계를 동시에 모형화합니다. "학습 동기"가 "시간 투자"를 거쳐 "성적"에 영향을 준다는 경로를 검증할 때 씁니다.
# install.packages("lavaan")
library(lavaan)
# 구조방정식 모형 명세
model_spec <- '
# 측정 모형 (잠재 변수 → 측정 변수)
motivation =~ q1 + q2 + q3
achievement =~ score1 + score2 + score3
# 구조 모형 (잠재 변수 간 관계)
achievement ~ motivation + study_time
'
fit <- sem(model_spec, data = students)
summary(fit, fit.measures = TRUE, standardized = TRUE)
# 경로도 시각화
# install.packages("semPlot")
library(semPlot)
semPaths(fit, what = "std", layout = "tree")
확인적 요인분석(CFA), 경로분석, 완전 SEM 모두 lavaan 하나로 처리할 수 있습니다.
R과 Shiny — 분석을 앱으로
분석 결과를 동료나 고객에게 보여줄 때 R Markdown 보고서도 좋지만, 인터랙티브 웹앱이라면 더욱 좋습니다. Shiny가 그 역할을 합니다.
# install.packages("shiny")
library(shiny)
# 간단한 t-검정 Shiny 앱
ui <- fluidPage(
titlePanel("t-검정 분석기"),
sidebarLayout(
sidebarPanel(
fileInput("file", "CSV 파일 업로드"),
selectInput("group_var", "집단 변수", choices = NULL),
selectInput("value_var", "측정 변수", choices = NULL),
actionButton("run", "분석 실행")
),
mainPanel(
verbatimTextOutput("result"),
plotOutput("plot")
)
)
)
server <- function(input, output, session) {
data <- reactive({
req(input$file)
read.csv(input$file$datapath)
})
observeEvent(data(), {
updateSelectInput(session, "group_var", choices = names(data()))
updateSelectInput(session, "value_var", choices = names(data()))
})
observeEvent(input$run, {
df <- data()
res <- t.test(df[[input$value_var]] ~ df[[input$group_var]])
output$result <- renderPrint(res)
output$plot <- renderPlot({
boxplot(df[[input$value_var]] ~ df[[input$group_var]],
main = "집단별 분포", xlab = "집단", ylab = "값")
})
})
}
shinyApp(ui, server)
이 책 시리즈의 3권인 "실전 R Shiny"에서는 대시보드 레이아웃, 반응형 프로그래밍, 서버 배포까지 Shiny의 전 과정을 다룹니다.
추천 도서와 자료
필독 도서
R for Data Science (2nd edition) Hadley Wickham, Mine Çetinkaya-Rundel, Garrett Grolemund 저. tidyverse 생태계의 교과서입니다. 데이터 정리(tidyr), 변환(dplyr), 시각화(ggplot2)를 체계적으로 배울 수 있습니다. 온라인 무료 공개: r4ds.had.co.nz
Statistical Rethinking (2nd edition) Richard McElreath 저. 베이지안 통계를 "모형이 세상을 어떻게 바라보는가"라는 관점으로 가르칩니다. 통계를 수식이 아닌 사고방식으로 배우고 싶다면 이 책을 추천합니다.
The Elements of Statistical Learning Hastie, Tibshirani, Friedman 저. 머신러닝과 통계의 경계에 있는 독자를 위한 책입니다. 무료 PDF를 공식 사이트에서 내려받을 수 있습니다.
온라인 자료
R-bloggers (r-bloggers.com) 전 세계 R 사용자들의 튜토리얼과 분석 사례가 매일 올라옵니다. 새로운 패키지, 실용적인 트릭, 다양한 분야의 응용 사례를 접할 수 있습니다.
CRAN Task Views (cran.r-project.org/web/views) 분야별로 추천 패키지를 정리해둔 공식 문서입니다. 의료통계, 생태학, 경제학, 사회과학 등 각 분야에서 많이 쓰는 패키지를 한눈에 확인할 수 있습니다.
Posit Community (community.rstudio.com) 막힐 때 찾는 포럼입니다. Tidyverse 개발팀이 직접 답변하는 경우도 많습니다.
YouTube: TidyTuesday 매주 새로운 데이터로 시각화를 만드는 커뮤니티입니다. 다양한 ggplot2 기법을 실전에서 어떻게 쓰는지 보여주는 영상이 풍부합니다.
학습 로드맵
현재 위치 다음 목표 그 다음
─────────────────────────────────────────────────────────
기초 통계 완료 고급 통계 패키지 연구/실무 적용
(이 책) ├─ lme4 (혼합모형) ├─ 학술 논문 작성
├─ brms (베이지안) ├─ 캐글 경진대회
└─ lavaan (SEM) └─ 회사 데이터 분석
데이터 분석 심화 시각화 심화 인터랙티브 앱
─────────────────────────────────────────────────────────
R for Data Science ggplot2: Elegant 실전 R Shiny (3권)
(Hadley Wickham) Graphics for Data ├─ 대시보드 구축
Analysis └─ 서버 배포
마치며
통계는 데이터가 들려주는 이야기를 번역하는 언어입니다. 처음에는 공식과 용어가 낯설지만, 몇 번 직접 데이터를 분석하고 나면 자연스럽게 손이 갑니다.
이 책에서 배운 것들은 단순한 R 코드가 아닙니다. 불확실한 세계에서 데이터를 근거로 판단하는 사고방식입니다. 그 사고방식이 의료 연구에서든, 마케팅 분석에서든, 사회 현상을 이해하는 데서든 여러분의 든든한 도구가 되기를 바랍니다.