Diff of /R/XenaGenerate.R [000000] .. [0bdad5]

Switch to unified view

a b/R/XenaGenerate.R
1
##' Generate and Subset a XenaHub Object from 'XenaData'
2
##'
3
##' @author Shixiang Wang <w_shixiang@163.com>
4
##' @param XenaData a `data.frame`. Default is `data(XenaData)`.
5
##' The input of this option can only be `data(XenaData)` or its subset.
6
##' @param subset logical expression indicating elements or rows to keep.
7
##' @return a [XenaHub] object.
8
##' @export
9
##' @examples
10
##' # 1 get all datasets
11
##' XenaGenerate()
12
##' # 2 get TCGA BRCA
13
##' XenaGenerate(subset = XenaCohorts == "TCGA Breast Cancer (BRCA)")
14
##' # 3 get all datasets containing BRCA
15
##' XenaGenerate(subset = grepl("BRCA", XenaCohorts))
16
17
XenaGenerate <- function(XenaData = UCSCXenaTools::XenaData,
18
                         subset = TRUE) {
19
  enclos <- parent.frame()
20
  subset <- substitute(subset)
21
  row_selector <- eval(subset, XenaData, enclos)
22
  XenaData <- XenaData[row_selector, ]
23
24
  .XenaHub(
25
    hosts = unique(XenaData$XenaHosts),
26
    cohorts = unique(XenaData$XenaCohorts),
27
    datasets = XenaData$XenaDatasets
28
  )
29
}