我想在对数轴上为我的一些模拟幂律尾数据绘制 CCDF 图,下面是我在法线轴上绘制 CCDF 图的 R 代码,我使用了链接上的代码:(如何绘制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 图:
> plot(sort(x), 1-f(sort(x)), type="s", lwd=1)
这个命令给了我CCDF图:
但是,我想在 log-log 轴上绘制我的 CCDF 图,以生成如下图所示的图:(图来自“最小化识别有机体的 Lévy 飞行行为的错误。”)
有没有办法在 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"))
以下是我如何生成数据集的代码:
u<-runif(500)
fakedata500<-((2*(1-u))^(-1))