如何提取从ECDF()的返回值ECDF?(How to extract Ecdf value fro

2019-10-18 04:22发布

为回答这个位置问题建议通过应用方式ecdf

不过我使用Ecdf()从包装Hmisc为它提供了一个方便的方式做一个CCDF(互补累积分布函数)的情节。 (通过设置what选项设置为“1-F”)

在默认情况下, Ecdf()做的情节和返回包含嵌套列表xy

我怎样才能提取y一定的值, x值? 然后绘制它原始的情节?

供参考:

 > str(Ecdf(rnorm(20), lwd = 2))
    List of 2
     $ x: num [1:21] -1.46 -1.46 -1.18 -1.17 -1.16 ...
     $ y: num [1:21] 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 ...
     - attr(*, "N")=List of 2
      ..$ n: num 20
      ..$ m: num 0

起初,我正在考虑这个列表转换为使用从建议的方法data.frame [R清单数据帧 ,但是我的数据是巨大的和rbind似乎很慢。

Answer 1:

Ecdf而返回一个列表ecdf返回的功能。 这是一个更容易使用R-统计功能ecdf比它使用的东西折磨,如: Ecdf(.)$y[ min(which(Ecdf(.)$x>val))] 。 如果你想从一个ECDF(X = 0)的值Ecdf-object那么这应该工作:

 ecdf( Ecdf(rnorm(20), lwd = 2)$x ) (v=0)
[1] 0.5238095

(事实证明,通过返回的功能的所有形式参数ecdf是“V”。)但是,如果你想少巧妙的方法,你已经分配结果名为对象oneEcdf“:

oneEcdf <- Ecdf(rnorm(20), lwd = 2)
oneEcdf$y[ min( which(oneEcdf$x > 0 ))]
[1] 0.6


文章来源: How to extract Ecdf value from the Ecdf() return?
标签: r list ecdf