Mercurial > repos > guerler > charts
diff histogramdiscrete.r @ 34:f92f68399023 draft
Uploaded
author | guerler |
---|---|
date | Fri, 09 May 2014 00:58:44 -0400 |
parents | |
children | bfd966f30073 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/histogramdiscrete.r Fri May 09 00:58:44 2014 -0400 @@ -0,0 +1,54 @@ +# wrapper +wrapper <- function(table, columns, options) { + + # initialize output list + l <- list() + + # loop through all columns + m <- list() + for (key in names(columns)) { + # load column data + column <- as.numeric(columns[key]) + + # ensure string column + column_data <- sapply( table[column], as.character ) + + # collect vectors in list + m <- append(m, list(column_data)) + } + + # get alphabetically sorted bins + bins <- sort(unique(unlist(m))) + + # add first column + l <- append(l, list(bins)) + + # loop through all columns + for (key in seq(m)) { + # reset bins + bins = sapply(bins, function(v) { 0 }) + + # load column data + column_data <- m[[key]] + + # create hist data + table_data <- table(column_data) + + # transfer counts to bins + for (id in names(table_data)) { + bins[id] <- table_data[id] + } + + # normalize densities + total <- length(column_data) + if (total > 0) { + bins = bins / total + } + + # collect vectors in list + l <- append(l, list(bins)) + } + + # return + return (l) +}