【问题标题】:Cumulative Distribution Function from input histogram输入直方图的累积分布函数
【发布时间】:2022-01-15 07:55:26
【问题描述】:

我想从包含数据的输入文件构建累积分布函数 (CDF) 以生成直方图。输入文件每个 bin 有一列,每个 bin 内的出现次数有一列,所以它看起来像这样:

bin     column6
0       1189
5       11957
10      24203
15      21518
20      14515
25      10323
30      7799
35      6015
40      4869
45      3858
50      3215
55      2615
60      2350
65      1890
70      1673
75      1433
80      1218
85      942
90      869
95      736
100     605
105     528
110     449
115     429
120     327
125     252
130     208
135     170
140     154
145     138
150     124
155     86
160     113
165     108
170     71
175     72
180     51
185     58
190     37
195     29
200     35
205     24
210     11
215     24
220     16
225     20
230     15
235     5
240     11
245     4
250     4
255     6
260     6
265     6
270     4
275     3
280     4
285     2
290     3
295     1
300     5
305     3
310     2
315     1
320     1
325     2
330     0
335     1
340     2
345     0
350     0
355     2
360     4
365     2
370     0
375     1
380     1
385     2
390     0
395     1
400     1
405     1

我使用 R 来可视化直方图,使用以下代码:

library(ggplot2)

input <- read.table('/home/agalvez/data/domains/histo_leu.txt', sep="\t", header=TRUE)

histo <- ggplot(data=input, aes(x=input$bin, y=input$column6)) +
  geom_bar(stat="identity")
 
histo

有人能给我一些关于如何为这个直方图构建 CDF 的建议吗?提前致谢!

【问题讨论】:

  • 您在寻找什么语言?通常,您希望将 column6 除以 sum(column6) 以获得每个 bin 的估计概率。然后累积概率总和以获得您的 CDF。在 numpy 中,您可以使用 np.cumsum(x)
  • 请与dput共享数据,以便人们轻松复制您的数据。

标签: r distribution probability-density probability-distribution


【解决方案1】:

有点不清楚的问题,我假设您正在寻找 eCDF,因为任何参数 CDF 通常都有一个分析公式。

在 R 中,您可以使用 ecdf 生成 eCDF。

library(purrr)
library(tidyr)
library(dplyr)
library(ggplot2)
input <- input %>%
    filter(column6 != 0) %>%
    mutate(
        column6 = map(column6, ~1:.x)
    ) %>%
    unnest(column6)
# Make the ecdf
 input %$%
    ecdf(bin)
# To plot use stat_ecdf
input %>%
    ggplot(aes(bin))+
    stat_ecdf(geom = "step")

【讨论】:

  • 谢谢你的帮助,很有用。
猜你喜欢
  • 1970-01-01
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 1970-01-01
  • 2015-04-27
  • 2012-06-08
  • 2013-08-23
相关资源
最近更新 更多