데이터 프레임을 행렬로 바꾸기
profvis가 강조 표시한 코드 중 하나는 주사위 눈의 가능한 조합을 생성하고 그 결과를 데이터 프레임에 저장한 줄이었어요:
df <- data.frame(d1 = sample(1:6, 3, replace = TRUE),
d2 = sample(1:6, 3, replace = TRUE))
이 코드는 두 가지 개선으로 최적화할 수 있어요:
- 데이터 프레임 대신 행렬을 사용하기
- 6번의 주사위 굴리기를 한 번에 생성하기
이렇게 하면 다음과 같아요:
m <- matrix(sample(1:6, 6, replace = TRUE), ncol = 2)
이 연습은 강의의 일부입니다
효율적인 R 코드 작성
연습 안내
- 데이터 프레임 해법
d()를 읽고 이해하세요. - 행렬 해법
m()을 완성하세요.m()은 요소 6개와 열 2개를 가진matrix를 만들어야 해요.
microbenchmark()함수를 사용해d()와m()의 실행 시간을 비교하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Load the microbenchmark package
___
# The previous data frame solution is defined
# d() Simulates 6 dices rolls
d <- function() {
data.frame(
d1 = sample(1:6, 3, replace = TRUE),
d2 = sample(1:6, 3, replace = TRUE)
)
}
# Complete the matrix solution
m <- function() {
___(sample(1:6, ___, replace = TRUE), ___)
}
# Use microbenchmark to time m() and d()
___(
data.frame_solution = d(),
matrix_solution = ___
)