gpt4 book ai didi

r - 如何在对数刻度上绘制 CCDF 图?

转载 作者:行者123 更新时间:2023-12-05 08:58:27 31 4
gpt4 key购买 nike

我想在对数轴上为我的一些模拟幂律尾部数据绘制 CCDF 图,下面是我在法线轴上绘制 CCDF 图的 R 代码,我使用了链接上的代码: ( How to plot a CCDF gragh? )

> load("fakedata500.Rda")
> x<-fakedata500
> f<-ecdf(x)
> f
Empirical CDF
Call: ecdf(x)
x[1:500] = 0.50174, 0.50307, 0.50383, ..., 81.674, 140.63
> plot(f)

下面是 ECDF 图:

enter image description here

> plot(sort(x), 1-f(sort(x)), type="s", lwd=1)

此命令为我提供了 CCDF 图:

enter image description here

但是,我想在对数轴上绘制我的 CCDF 图以生成如下图所示的图形:(图表来自“最小化识别生物体的 Lévy 飞行行为的错误。”)

enter image description here

有没有办法在 R 中做到这一点?

如果是这样,如何对 CCDF 图进行线性回归?我试过使用下面的命令,但这对我不起作用。

a<-plot(sort(x), 1-f(sort(x)), type="s", lwd=1)
> a
NULL
> res=lm(a)
Error in terms.formula(formula, data = data) :
argument is not a valid model

非常感谢。


更新:

我使用了@BondedDust给出的代码,成功生成了一张CCDF图:

(plot(sort(x) , 1-ecdf(x)(sort(x) ), log="xy"))

enter image description here

下面是我如何生成数据集的代码:

u<-runif(500)
fakedata500<-((2*(1-u))^(-1))

最佳答案

您没有提供任何数据,因此不会尝试回归输出,但构建绘图应该非常容易:

plot(sort(x) , 1-ecdf(x)(sort(x) ), log="xy")

您确实会收到警告,因为最极端点的 ecdf 为 1,而 1-1 不能有对数值,因为它被省略了。使用绘图看起来像的对数正态变量的随机样本。轴的替代标记可以通过在绘图调用中抑制轴刻度然后使用 axis 函数添加它们来完成。这是通过使用默认参数的对数正态分布的 500 个实现样本完成的:

enter image description here

关于r - 如何在对数刻度上绘制 CCDF 图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23457990/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com