Mercurial > repos > iuc > charts
annotate histogramdiscrete.r @ 1:344ac3ca7557 draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
author | iuc |
---|---|
date | Wed, 17 Nov 2021 09:06:59 +0000 |
parents | a87a3773d8ed |
children |
rev | line source |
---|---|
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
1 zero <- function(v) { |
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
2 0 |
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
3 } |
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
4 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
5 # wrapper |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
6 wrapper <- function(table, columns, options) { |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
7 |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
8 # initialize output list |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
9 l <- list() |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
10 |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
11 # loop through all columns |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
12 m <- list() |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
13 for (key in names(columns)) { |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
14 # load column data |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
15 column <- as.numeric(columns[key]) |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
16 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
17 # ensure string column |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
18 column_data <- as.character(table[column][[1]]) |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
19 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
20 # collect vectors in list |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
21 m <- append(m, list(column_data)) |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
22 } |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
23 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
24 # get alphabetically sorted bins |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
25 bins <- sort(unique(unlist(m))) |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
26 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
27 # add first column |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
28 l <- append(l, list(bins)) |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
29 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
30 # loop through all columns |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
31 for (key in seq(m)) { |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
32 # reset bins |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
33 bins <- sapply(bins, zero) |
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
34 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
35 # load column data |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
36 column_data <- m[[key]] |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
37 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
38 # create hist data |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
39 table_data <- table(column_data) |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
40 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
41 # transfer counts to bins |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
42 for (id in names(table_data)) { |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
43 bins[id] <- table_data[id] |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
44 } |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
45 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
46 # normalize densities |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
47 total <- length(column_data) |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
48 if (total > 0) { |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
49 bins <- bins / total |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
50 } |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
51 |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
52 # collect vectors in list |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
53 l <- append(l, list(bins)) |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
54 } |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
55 |
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
56 # return |
1
344ac3ca7557
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 4494db13b69987fbc97d47177d2a5956e46e927b"
iuc
parents:
0
diff
changeset
|
57 return(l) |
0
a87a3773d8ed
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/charts/ commit 87080d49913cfd40a77eda7e5834ac9c4bc30b0b
iuc
parents:
diff
changeset
|
58 } |