Я пытаюсь проверить, где мои реальные данные попадают в гипотетическое распределение вероятностей. Я создал DF из 1000 случайных переменных и перекодировал его, чтобы он соответствовал вероятности моих событий в реальном мире.
Далее я хочу вычислить «время между событиями» (IE, время между каждым 1 возникновением ), Затем сохраните среднее время между событиями для каждой случайной величины, чтобы я мог построить ее. (Конечная цель - 1 переменная из 1000 средних)
В приведенном ниже коде я создал случайные переменные, перекодировал их и добавил диапазон дат.
dat <-as.data.frame( matrix (0, nr=1303, nc = 1000))
for (i in 1:1000){x<- runif(1303)
dat[,i] <-x}
#calculating values to 0,1.
dat[,] <- ifelse(dat[,] < "0.01611665", 1, ifelse(dat[,] > "0.01611665", 0, 1 ))
#creating date range
start_date <- as.Date("2016/10/10")
Date<- seq(start_date, by = "day", length.out = 1303)
#add date vector to a df
dat$date <- Date
Я не уверен, как рассчитать время между событиями для всех переменных. Я сделал это для своих данных реального мира (только 21 событие за 1303 дня) в приведенном ниже коде, но я не уверен, как масштабировать его, чтобы применить ко всем 1000 случайным переменным, или как извлечь среднее среднее время между событиями "к отдельному df.
events <- sort(sample(never1$date1, 21))
d <- c(NA, diff(events))
Я знаю, что мое решение включает в себя расчеты с lubridate и dplyr и прокаткой. Но мой GoogleFU не слишком помогает.
Спасибо!