Создание нормального распределения из результатов для для l oop? - PullRequest
0 голосов
/ 16 января 2020

Я только что создал для l oop, который дает 100 000 результатов, есть ли способ создать график нормального распределения из всех этих результатов? (новое для R)

Файл CSV - это просто файл, содержащий вероятности, который используется для расчета ROI.

AverageROI [[x]] имеет 100 000 значений, но я не уверен в как go о создании этого сюжета?

Dreamhack <- read.csv('C:/Users/Karishma Diraag/Desktop/E-sports/Dreamhack.csv', header=TRUE, stringsAsFactors = FALSE)

Dreamhack$Team1BO <- as.numeric(Dreamhack$BookieOdd)
Dreamhack$Team1MO <- as.numeric(Dreamhack$Team1MO)
Dreamhack$Team2MO <- as.numeric(Dreamhack$Team2MO)
Dreamhack$TrueProb <- as.numeric(Dreamhack$TrueProb)
Dreamhack$Prob <- as.numeric(Dreamhack$Prob)

Runs <- 100000
PNL <- list()
spend <- 200
ROI <- list()
AverageROI <- list()

for(x in 1:Runs){
  for(i in 1:26){
    rand <- runif(26)
    if(Dreamhack$Prob[[i]]<rand[[i]]){
      PNL[[i]] <- ((spend*Dreamhack$BookieOdd[[i]]) - spend)
    }else{
      PNL[[i]] <- -1*spend
   }
    ROI[[i]] <- PNL[[i]]/spend
  }
  AverageROI[[x]] <- mean(as.numeric(ROI[1:26]))
}

Average <- mean(as.numeric(AverageROI[1:Runs]))
StDev <- sd(as.numeric(AverageROI[1:Runs]))

Пробовали следующее:

y <- dnorm(AverageROI, mean = Average, sd = StDev)
x <- seq(1,100000, by = 1)

plot(x,y)

Не построил точно, что я хотел .. enter image description here

Просто сделал следующее, что было немного лучше

ndplot <- ggplot(data = data.frame(x = AverageROI), aes(x)) + 
  stat_function(fun = dnorm, n = 101, args = list(mean = Average, sd = StDev)) + ylab("") +
  scale_y_continuous(breaks=NULL)
ndplot

enter image description here

...