Вычисление и создание графика для вероятности превышения в R? - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь вычислить probability of exceedance в R. Вот ссылка , которая имеет детализацию и формулу для вычисления вероятности превышения. Я попытался повторить процедуру с помощью следующего примера кода, однако я совсем не похож на прилагаемый пример прорисовки. Однажды я понял, как это сделать, и затем я хотел бы применить процедуру к data.frame, который имеет кратное variables.

library(tidyverse)

A = sample(0:5000, 2500)
A = A[order(A, decreasing = TRUE)]
Rank = 1:2500

DF = data.frame(cbind(A,Rank))
DF$Prob =  100*(DF$Rank/(length(DF$Prob+1)))

ggplot(data = DF, aes(x=Prob, y=A))+
  geom_line() + scale_y_continuous(trans = "log10")

Вот пример сюжета, который я хотел бы подготовить enter image description here

1 Ответ

3 голосов
/ 25 января 2020

Формула для вычисления Prob не очень хорошо реализована в этом вопросе. он добавляет 1 к DF$Prob и затем берет его length, когда он должен добавить 1 к length.

DF <- data.frame(A, Rank)
DF$Prob <-  DF$Rank/(length(DF$Rank) + 1)

ggplot(data = DF, aes(x = Prob, y = A)) +
  geom_line() + 
  scale_x_continuous(breaks = seq(0, 1, by = 0.20),
                     labels = percent) +
  scale_y_continuous(trans = "log10")

enter image description here

Код создания данных.

Я изменил пример набора данных.
Код ниже воспроизводим, поскольку используется set.seed и sample имеет уменьшающиеся вероятности.

set.seed(1234)
A <- sample(0:5000, 2500, prob = exp(seq(10, 0, length.out = 5001)))
A <- A[order(A, decreasing = TRUE)]
Rank <- 1:2500
...