我試圖儘可能減少總結伯努利試驗序列輸出的函數的執行時間。生成沒有循環的隨機數
這是我的工作,但慢的方法:
set.seed(28100)
sim <- data.frame(result = rep(NA, 10))
for (i in 1:nrow(sim)) {
sim$result[i] <- sum(rbinom(1200, size = 1, prob = 0.2))
}
sim
# result
# 1 268
# 2 230
# 3 223
# 4 242
# 5 224
# 6 218
# 7 237
# 8 254
# 9 227
# 10 247
我怎麼能獲得同樣的結果沒有一個for循環?
我想這...
set.seed(28100)
sim <- data.frame(result = rep(sum(rbinom(1200, size = 1, prob = 0.2)), 10))
sim
# result
# 1 269
# 2 269
# 3 269
# 4 269
# 5 269
# 6 269
# 7 269
# 8 269
# 9 269
# 10 269
但顯然只執行一次的rep()
的說法。
我會告訴你我的解答,但單行解決方案是'rbinom(10,size = 1200,prob = 0.2)'。 – Gregor