타이밍 - 벡터 크기 늘리기
R에서 벡터를 점점 키워 가는 방식은 치명적인 실수 중 하나이므로, 반드시 피해야 해요.
아래에 정의된 growing() 함수는 n개의 표준정규 난수를 생성하지만, 매번 요소를 추가할 때마다 벡터의 크기를 키워요!
참고: 표준정규 난수는 평균이 0이고 표준편차가 1인 정규분포에서 추출한 수를 말해요.
n <- 30000
# Slow code
growing <- function(n) {
x <- NULL
for(i in 1:n)
x <- c(x, rnorm(1))
x
}
이 연습은 강의의 일부입니다
효율적인 R 코드 작성
연습 안내
growing() 함수는 이미 작업 공간에 정의되어 있어요.
system.time()함수를 사용해,growing()함수로n = 30000개의 표준정규 난수를 생성하는 데 걸리는 시간을 구하세요.<-트릭을 사용해 결과를res_grow라는 벡터에 저장하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Use <- with system.time() to store the result as res_grow
system.time(___ <- ___)