计算和生成 R 中超出概率的图?

Computing and generating plot for the Probability of Exceedance in R?

我正在尝试在 R 中计算 probability of exceedance。这里是 link,其中包含用于计算超越概率的详细信息和公式。我尝试使用以下示例代码复制该过程,但是,我离附加的示例绘图还差得很远。有一次,我想出了如何做到这一点 - 然后我想在具有多个 variablesdata.frame 上应用该过程。

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")

这是我想要制作的情节示例

计算Prob的公式在问题中没有很好地实现。它在 DF$Prob 上加 1,然后在 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")

数据创建代码。

我已经更改了数据集示例。
下面的代码是可重现的,因为使用了 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