ПочатиПочніть безкоштовно

Змініть датафрейм на матрицю

Одним із фрагментів коду, який підсвітив 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() має створювати matrix з 6 елементами та 2 стовпцями.
  • Скористайтеся функцією 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     = ___
)
Редагувати та запускати код