시작하기무료로 시작하기

데이터 프레임을 행렬로 바꾸기

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     = ___
)
코드 편집 및 실행