使用R和ggplot2绘制值的ECDF

时间:2014-06-17 21:12:19

标签: r ggplot2

我试图根据'freq'中给出的'x'的观察频率来绘制'x'的ECDF。数据框如下所示。

    x   freq
1   1    165
2   2    898
3   3    289
4   4   2220
5   5    535
6   6   1885
7   7   2344
8   8  36550
9   9    884
10 10   1480
11 11   1132
12 12   2733
13 13   1828
14 14  11152
15 15   6379
16 16 304355

以下代码段似乎生成了我想要的内容,但我想知道这是否是 right / better / idiomatic 这样做的方式。

ggplot(transform(freq.data, ecdf = cumsum(freq)/sum(freq.data$freq)), aes(x, ecdf)) + geom_step()

1 个答案:

答案 0 :(得分:2)

这有用吗?

library(ggplot2)
x <- with(df, rep(x, freq))
ggplot(data = data.frame(x = x), aes(x)) + stat_ecdf()