0
我運行下面的代碼,但只需要很長時間,我確信有一種方法可以更快地獲得相同的結果。爲仿真蒙特卡羅仿真優化代碼
runs <- 1000
prediction <- runif(77,0,1)
n< - length(prediction)
df.all <- data.frame(Preds = rep(prediction, runs),
simno=rep(1:runs,each=n))
for (x in 1:runs) {
for (i in 1:length(df.all$Preds)){
df.all$rand[i] <- sample(1:100,1)
df.all$Win[i] <- ifelse(df.all$rand[i]<df.all$Preds[i]*100,1,0)
}
}
df.all% >% group_by(simno) %>% summarise(Wins=sum(Win)) -> output
您可以使用數據幀的列表,而是和在運行數x,你填寫df.all [[X]] $蘭特。在循環結束時,您可以使用Reduce(rbind,df.all)將它們全部綁定到一個大數據框中。 –