모노폴리 요약

효율적인 R 코드 작성

Colin Gillespie

Jumping Rivers & Newcastle University

데이터 프레임 vs. 행렬

# Original
rolls <- data.frame(d1 = sample(1:6, 3, replace = TRUE),
                    d2 = sample(1:6, 3, replace = TRUE))
# Updated
rolls <- matrix(sample(1:6, 6, replace = TRUE), ncol = 2)
  • 모노폴리 시뮬레이션 총 시간: 2초 → 0.5초
  • 데이터 프레임 생성은 행렬보다 느립니다
  • 모노폴리 시뮬레이션에서 데이터 프레임을 10,000개 생성했습니다
효율적인 R 코드 작성

apply vs. rowSums

# Original
total <- apply(df, 1, sum)
# Updated
total <- rowSums(df)
  • 0.5초 → 0.16초 - 3배 속도 향상
효율적인 R 코드 작성

& vs. &&

# Original
is_double[1] & is_double[2] & is_double[3]
# Updated
is_double[1] && is_double[2] && is_double[3]
  • 속도 향상 미미
  • 0.16초 → 0.15초
효율적인 R 코드 작성

개요

방법 시간 (초) 속도 향상
Original 2.00 1.0
Matrix 0.50 4.0
Matrix + rowSums 0.20 10.0
Matrix + rowSums + && 0.19 10.5
효율적인 R 코드 작성

연습해 봅시다!

효율적인 R 코드 작성

Preparing Video For Download...