Monopoly रिकैप

कार्यकुशल R कोड लिखना

Colin Gillespie

Jumping Rivers & Newcastle University

डेटा फ्रेम बनाम मैट्रिक्स

# Original
rolls <- data.frame(d1 = sample(1:6, 3, replace = TRUE),
                    d2 = sample(1:6, 3, replace = TRUE))
# Updated
rolls <- matrix(sample(1:6, 6, replace = TRUE), ncol = 2)
  • कुल Monopoly सिमुलेशन समय: 2 सेकंड से 0.5 सेकंड
  • डेटा फ्रेम बनाना मैट्रिक्स से धीमा है
  • Monopoly सिमुलेशन में, हमने 10,000 डेटा फ्रेम बनाए
कार्यकुशल R कोड लिखना

apply बनाम rowSums

# Original
total <- apply(df, 1, sum)
# Updated
total <- rowSums(df)
  • 0.5 सेकंड से 0.16 सेकंड - 3 गुना स्पीड-अप
कार्यकुशल R कोड लिखना

& बनाम &&

# Original
is_double[1] & is_double[2] & is_double[3]
# Updated
is_double[1] && is_double[2] && is_double[3]
  • सीमित स्पीड-अप
  • 0.16 सेकंड से 0.15 सेकंड
कार्यकुशल R कोड लिखना

ओवरव्यू

Method Time (secs) Speed-up
Original 2.00 1.0
Matrix 0.50 4.0
Matrix + rowSums 0.20 10.0
Matrix + rowSums + && 0.19 10.5
कार्यकुशल R कोड लिखना

अभ्यास करते हैं!

कार्यकुशल R कोड लिखना

Preparing Video For Download...