如何从一组观察中生成经验 c.d.f?

How to generate empirical c.d.f from a set of observations?

假设我有一个向量x = c(1, 1, 3, 0, 4, 5, 4)。请问有没有生成这个数据的的函数。我想要的结果是

               x    c.d.f
1              0      1/7
2              1      3/7
3              3      4/7
4              4      6/7
5              5      7/7

我试过函数 ecdf(c(1, 1, 3, 0, 4, 5, 4)),但我不明白这个函数的结果值

Empirical CDF 
Call: ecdf(c(1, 1, 3, 0, 4, 5, 4))
 x[1:5] =      0,      1,      3,      4,      5

你能帮我生成这个c.d.f吗?非常感谢!

ecdfreturns一个函数。您使用

获得所需的输出
Fn <- ecdf(x)
out <- data.frame(x = knots(Fn), cdf = Fn(knots(Fn)))
out
#  x       cdf
#1 0 0.1428571
#2 1 0.4285714
#3 3 0.5714286
#4 4 0.8571429
#5 5 1.0000000

ecdf函数returns一个函数。要获得您想要的结果,请在原始向量上调用结果函数。

x <- c(1, 1, 3, 0, 4, 5, 4)

Fn <- ecdf(x)
class(Fn)
#> [1] "ecdf"     "stepfun"  "function"
Fn(x)
#> [1] 0.4285714 0.4285714 0.5714286 0.1428571 0.8571429 1.0000000 0.8571429

reprex package (v0.3.0)

于 2020-03-19 创建