输入直方图的累积分布函数
Cumulative Distribution Function from input histogram
我想从包含数据的输入文件构建累积分布函数 (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 给我一些建议吗?提前致谢!
有点不清楚的问题,我假设您正在寻找 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")
我想从包含数据的输入文件构建累积分布函数 (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 给我一些建议吗?提前致谢!
有点不清楚的问题,我假设您正在寻找 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")