[0bdad5]: / R / XenaGenerate.R

Download this file

30 lines (27 with data), 999 Bytes

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