GGR图:加权CDF

GGR图:加权CDF,r,ggplot2,cdf,R,Ggplot2,Cdf,我想使用ggplot绘制加权CDF。一些旧的非SO讨论(例如2012年)表明这是不可能的,但认为我会重新考虑 例如,考虑这些数据: df <- data.frame(x=sort(runif(100)), w=1:100) 我将如何通过w对其进行加权?对于本例,我希望使用一个看起来像x^2的函数,因为较大的数字具有更高的权重。您的答案中有一个错误 这是计算加权ECDF的正确代码: df <- df[order(df$x), ] # Won't change anything s

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

例如,考虑这些数据:

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


我将如何通过
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()

df嗨,github repo中的代码看起来非常有趣。您能否添加一些如何安全地“安装/卸载”它的指南?thanks@vagvaf,我在这方面不是很有经验,但对我来说它只是一个.R文件,所以我认为您只需在加载
ggplot2
库后复制代码(这将覆盖
stat\u ecdf
函数)。我认为可以从GitHub安装软件包,并使用
library(devtools)
,然后
install\u GitHub(“NicolasWoloszko/stat\u ecdf\u weighted”)
。最简单的方法是获取原始URL。只需键入
source(“https://raw.githubusercontent.com/NicolasWoloszko/stat_ecdf_weighted/master/stat_ecdf_weighted.R)
。您可以键入
stat\u ecdf
(不带括号)查看调用Nicolas脚本前后函数的定义。
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()