Veri çerçevesini matrise dönüştür
profvis tarafından vurgulanan kod parçalarından biri, olası zar atışlarını oluşturup sonuçları bir veri çerçevesinde sakladığımız satırdı:
df <- data.frame(d1 = sample(1:6, 3, replace = TRUE),
d2 = sample(1:6, 3, replace = TRUE))
Bu kodu iki iyileştirmeyle optimize edebiliriz:
- Veri çerçevesinden matrise geçmek
- 6 zar atışını tek adımda üretmek
Bu da şunu verir:
m <- matrix(sample(1:6, 6, replace = TRUE), ncol = 2)
Bu egzersiz
Verimli R Kodu Yazma
kursunun bir parçasıdırEgzersiz talimatları
- Veri çerçevesi çözümü
d()'yi oku ve anla. - Matris çözümü
m()'yi tamamla.m()6 elemanlı ve 2 sütunlu birmatrixoluşturmalı.
microbenchmark()fonksiyonunu kullanarakd()vem()zamanlamalarını karşılaştır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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 = ___
)