gpt4 book ai didi

r - CDF测试R中节点的分布

转载 作者:行者123 更新时间:2023-12-02 01:32:55 24 4
gpt4 key购买 nike

嗨,我正在努力从 R 中的函数获取 CDF 图。

上下文:我制作了一个图表并绘制了节点度分布的双对数图,这似乎遵循幂律。但我想在对数尺度上进行 CDF 作为附加测量。

到目前为止,我找到的所有示例都只展示了如何对数据框/表中的一列或一行进行 CDF,有人可以帮助我吗?

因此,这可以获取 x 或 y 的 CDF:

x <- c(1, 2, 3, 4, 5, 6, 7, 11, 13, 14)
y <- c(48, 18, 9, 7, 5, 2, 2, 1, 1, 1)
ecdf(x)
ecdf(y)
plot(ecdf(x)) ### or same with y

但是我无法获取 xy 数据框或数据框的 CDF:

x <- c(1, 2, 3, 4, 5, 6, 7, 11, 13, 14)
y <- c(48, 18, 9, 7, 5, 2, 2, 1, 1, 1)
dt <- data.table(x, y)
ecdf(dt) ####obviously won't work

这是我在 Google 上找到的一个关于我想要执行的操作的示例: example http://igraph.org/r/doc/fit_power_law.html

请注意,右上角的框不是必需的,但了解如何查找 alpha 和 p 会很有用。

感谢您的帮助! :)

2018 年 7 月 1 日更新

我不久前找到了解决方案,但忘记将其添加到此处。当我这样做时,我将添加如何验证幂律适合我的数据的所有步骤(方法来自 Clauset、Shalizi 和 Newman (2009) 经验数据中的幂律分布。SIAM Review 51(4) :661-703)。

首先测试幂律的拟合度:

x <- c(1, 2, 3, 4, 5, 6, 7, 11, 13, 14)
y <- c(48, 18, 9, 7, 5, 2, 2, 1, 1, 1)

logEstimate <- lm(log(y) ~ log(x))
summary(logEstimate)

然后根据预期拟合进行绘图:

logypred <- predict(logEstimate)
d.f <- data.frame( x = x, y = y )

plot(
y ~ x,
data = d.f,
type = "n",
log = "xy",
xlab = "Degree k",
ylab = "Vertices",
xlim = c( 1, 100 ),
ylim = c( 1, 100 ) )
abline(
h = c( seq( 1, 9, 1 ), seq( 10, 90, 10 ), seq( 100, 1000, 100 ) ),
lty = 3,
col = colors()[ 440 ] )
abline(
v = c( seq( 1, 9, 1 ), seq( 10, 90, 10 ), seq( 100, 1000, 100 ) ),
lty = 3,
col = colors()[ 440 ] )
points( y ~ x, data = d.f )
box()
lines(exp(logypred)~x, col=2)

为了测试与其他模型的更好拟合,我执行了以下操作(这是针对指数模型,删除 log() 以进行线性):

 exponential.model <- lm(log(x)~ y)
summary(exponential.model)

最后一步是使用 igraph 包中的 KS-test,我很容易地获得了 CDF (KS.p): http://igraph.org/r/doc/fit_power_law.html

最佳答案

Emcdf 包提供了计算和绘制二元或多变量累积分布函数的方法。

对于您的数据:

library(Emcdf)
df <- data.frame(x = c(1, 2, 3, 4, 5, 6, 7, 11, 13, 14),
y = c(48, 18, 9, 7, 5, 2, 2, 1, 1, 1))

plotcdf(as.matrix(df))

Levelplot

plotcdf(as.matrix(df), type = "wireframe")

Wireframe

这是您要找的吗?

关于r - CDF测试R中节点的分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49008601/

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