gpt4 book ai didi

R ggplot : Weighted CDF

转载 作者:行者123 更新时间:2023-12-02 11:50:56 27 4
gpt4 key购买 nike

我想使用 ggplot 绘制加权 CDF。一些旧的非 SO 讨论(例如 2012 年的 this)表明这是不可能的,但我想我会重新加注。

例如,考虑以下数据:

df <- data.frame(x=sort(runif(100)), w=1:100)

我可以显示未加权的 CDF

ggplot(df, aes(x)) + stat_ecdf()

enter image description here

我该如何用w来衡量它?对于这个例子,我期望一个看起来像 x^2 的函数,因为数字越大权重越高。

最佳答案

您的回答有错误。

这是计算加权 ECDF 的正确代码:

df <- df[order(df$x), ]  # Won't change anything since it was created sorted
df$cum.pct <- with(df, cumsum(w) / sum(w))
ggplot(df, aes(x, cum.pct)) + geom_line()

ECDF 是一个函数 F(a)等于观测值权重(概率)的总和,其中 x<a除以权重总和。

但是这里有一个更令人满意的选项,只需修改 ggplot2 stat_ecdf 的原始代码即可: https://github.com/NicolasWoloszko/stat_ecdf_weighted

关于R ggplot : Weighted CDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32487457/

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