cytoSet-class {prada} | R Documentation |
This class is a container for a set of
cytoFrame
objects
## S4 method for signature 'cytoSet': phenoData(object) \S4method{phenoData<-}{cytoSet,ANY}(object,value) ## S4 method for signature 'cytoSet': pData(object) ## S4 method for signature 'cytoSet': colnames(object) \S4method{colnames<-}{cytoSet,ANY}(object,value) ## S4 method for signature 'cytoSet': show(object) \S4method{[}{cytoSet,ANY}(x, i) \S4method{[[}{cytoSet,ANY}(x, i)
object,x |
Objects of class cytoSet . |
value |
Replacement value. |
i |
Index. |
Objects can be created using the function
readCytoSet
or via
new('cytoSet,
frames = ...., # environment with cytoFrames
phenoData = .... # object of class phenoData
colnames = .... # object of class character
)
frames
:environment
containing one or more cytoFrame
objects.phenoData
:phenoData
. Each row
corresponds to one of the cytoFrames in the frames
slot.
It is mandatory that the pData has column named name
colnames
:character
object with the
(common) column names of all the data matrices in the cytoFrames.x
is cytoSet
, then x[i]
returns a cytoSet
object, and x[[i]]
a cytoFrame
object. The semantics is similar to the behavior of the subsetting
operators for lists.colnames
slot.phenoData
slot.
The bulk of the data in a cytoSet
object is stored in an
environment
, and is therefore not
automatically copied when the cytoSet
object is copied. If
x
is an object of class cytoSet
, then the code
y <- xwill create a an object
y
that contains
copies of the phenoData
and
administrative data in x
, but refers to the same
environment with the actual fluorescence data. See below for how to
create proper copies.
The reason for this is performance. The pass-by-value semantics of
function calls in R
can result in numerous copies of the same
data object being made in the course of a series of nested function
calls. If the data object is large, this can result in a considerable
cost of memory and performance. cytoSet
objects are intended to
contain experimental data in the order of hundreds of Megabytes,
which can effectively be treated as read-only: typical tasks
are the extraction of subsets and the calculation of summary statistics.
This is afforded by the design of the cytoSet
class: an object of that class contains a phenoData
slot,
some administrative information, and a reference to an
environment with the fluorescence data; when it is copied, only the
reference is copied, but not the potentially large set of fluorescence
data themselves.
However, note that subsetting operations, such as
y <- x[i]do create proper copies, including a copy of the appropriate part of the fluorescence data, as it should be expected. Thus, to make a proper copy of a
cytoSet
x
, use
y <- x[seq(along=x)]
Wolfgang Huber http://www.ebi.ac.uk/huber
cset<-readCytoSet(path=system.file("extdata", package="prada"), pattern="[A-Z][0-9][0-9]$") cset pData(cset) cset[[1]] cset[["fas Bcl2 plate323-04-04.A02"]] cset["fas Bcl2 plate323-04-04.A02"] cset[1:3] cset[[1]] <- exprs(cset[[1]])[1:100, ]