return phenomena as named list

pull/17/head
noerw 7 years ago
parent 0f80075bf5
commit 53b77977e0

@ -3,8 +3,8 @@
#' Get the counts of sensors for each observed phenomenon. #' Get the counts of sensors for each observed phenomenon.
#' #'
#' @param boxes A \code{sensebox data.frame} of boxes #' @param boxes A \code{sensebox data.frame} of boxes
#' @return An \code{data.frame} containing the count of sensors observing a #' @return A named \code{list} containing the count of sensors observing a
#' phenomenon per column. #' phenomenon per phenomenon
#' @export #' @export
osem_phenomena = function (boxes) UseMethod('osem_phenomena') osem_phenomena = function (boxes) UseMethod('osem_phenomena')
@ -25,11 +25,10 @@ osem_phenomena = function (boxes) UseMethod('osem_phenomena')
#' #'
#' # get phenomena with at least 10 sensors on opensensemap #' # get phenomena with at least 10 sensors on opensensemap
#' phenoms = osem_phenomena(osem_boxes()) #' phenoms = osem_phenomena(osem_boxes())
#' colnames(dplyr::select_if(phenoms, function(v) v > 9)) #' names(phenoms[phenoms > 9])
#' #'
osem_phenomena.sensebox = function (boxes) { osem_phenomena.sensebox = function (boxes) {
Reduce(`c`, boxes$phenomena) %>% # get all the row contents in a single vector Reduce(`c`, boxes$phenomena) %>% # get all the row contents in a single vector
table() %>% # get count for each phenomenon table() %>% # get count for each phenomenon
t() %>% # transform the table to a df as.list()
as.data.frame.matrix()
} }

Loading…
Cancel
Save