Uniform Rectangular Data Functions
Functions that allow you to access all rectangular data objects in
the same way. Rectangular data objects include matrices, data frames
subscript2d(x,i,j) <- value
numRows(x) <- value
numCols(x) <- value
rowIds(x) <- value
colIds(x) <- value
the object to be converted to rectangular data (as.rectangular), or a
rectangular data object.
the first (row) subscript.
the second (column) subscript.
the object to be assign to x
subscript2d, numRows, numCols, rowIds,
colIds can also be used on the left side of assignments. The value can be a character vector, or anything that
can be coerced to a character vector.
- subscript2d is for subscripting. When subscript2d is used in an assignment, it does not allow subscript replacement
outside the bounds of x. Instead, set numRows or
- When numRows or numCols is used in
an assignment, the row and column IDs are maintained
to have the correct length. Usually, this is done by setting numRows on the ID vector,
but for some objects (for example, data frames)
this might not be appropriate, and they have their own methods.
- Functions colnames<- and rownames<- simply call
colIds<- and rowIds<-, respectively.
- as.rectangular converts any object to a rectangular
data object (usually a data frame), if possible.
- is.rectangular tests whether an object is rectangular.
- numRows and numCols count the number of rows and columns.
- rowIds and colIds (and rownames and
colnames) return the row and column names or other
identifiers attached to rows and columns.
- colnames and rownames return the same values as
colIds and rowIds, respectively, if do.NULL=T.
- Instead of using names to replace row names from a matrix,
use rowIds or dimnames.
- The functions colnames, rownames,
colnames<-, rownames<- emulate R
functions of the same names.
|as.rectangular||returns x if it is already rectangular, or
as.data.frame(x) if it is not.|
|as.char.rect||takes a rectangular object and returns a rectangular object
(vector or matrix) consisting of character strings, suitable for printing
(but not formatted to fixed width).|
|is.rectangular||returns TRUE if x is rectangular, and FALSE if it is not.|
|subscript2d(x,i,j)||is like x[i,j,drop=F], except that it allows
x[,1] (for example) for atomic vectors.
Usually, it returns an object of the same class as x
(this is not appropriate for some objects, such as "bs" objects).
It does not support a drop argument.|
|numRows and numCols||return integers, like nrow and ncol,
except that they also work on atomic vectors (numRows returns
the length of the vector, and numCols returns 1).|
|rowIds and colIds||return the IDs of the rows and columns.
These are often character vectors, but need not be,
depending on the class of x.
They are like the components of dimnames,
except that for named vectors, rowIds returns or sets the names
and colIds returns NULL.|
|colnames and rownames||return the same values as
colIds and rowIds, respectively.|
x <- 1:10
y <- list(a=1:10, b=11:20)
y <- as.rectangular(y)
subscript2d(y,4,1) <- 55
numCols(y) <- 3
rowIds(x) <- letters[1:10]
z <- cbind(1,1:4)
colnames(z) <- colnames(z)
rownames(z) <- rownames(z)