acol {tablesgg} | R Documentation |
Column Numbers Within the Augmented Row-Column Grid for a Table
Description
Return the column numbers associated with a specified table part or element, or with a set of column header values, within the augmented row-column grid of a table.
Usage
acol(x, id=NULL, hpath=NULL)
Arguments
x |
A |
id |
Character scalar containing the ID of a single table part, block, entry,
or hvrule. (If |
hpath |
Character vector with length between 0 and the number of layers in the
column header. The |
Details
See the documentation for adim
for more information about the
augmented row-column grid of a table.
Only one of arguments id
and hpath
should be specified.
id
is searched for first among table parts (the only thing
available for a textTable
), then blocks, entries, and hvrules, in
that order. The search stops at the first match. It is an error if
id
is not found in any of these.
hpath
is short for "header path". It is used to obtain column
numbers associated with specified combinations of values of the column
header variables. Suppose there are L
layers of column headers.
If the length of hpath
is less than L
, NA values are added
at the end to reach that length. The function returns the intersection of
the column numbers for which the i
-th outermost of the header
layers equals the i
-th element of hpath
. An NA in
hpath
is taken to match all values in the correponding layer of
column headers. Thus, if L == 4
and hpath=c("a", NA, "c")
,
the function will return the column numbers for which the outermost column
header has a value of "a" _and_ the third outermost has a value of "c".
If no column has the combination of values specified by hpath
then
the returned vector will have length 0.
Since hpath
refers to values of column header variables, it cannot
be used to get column numbers associated with table annotation, or with
the row header. (Use id
instead.)
Value
A numeric vector containing column numbers within the table's augmented
row-column grid. The column numbers are those partially or completely
occupied by the cells associated with id
or hpath
. They
will be increasing but not necessarily consecutive.
The returned vector may have length 0 if id
refers to a table part
or block that spans no columns, or if hpath
matches no set of
column header values.
Note that for a vertical hvrule (vrule), the "column number" is actually a
half-integer, bracketed by the table column numbers between which the
vrule runs. For example, if the vrule runs between table columns 3 and 4,
the returned value will be c(3.5)
.
See Also
adim
to get the dimensions of the augmented row-column grid;
arow
for the corresponding operation on rows;
ids
Examples
ttbl <- textTable(iris2_tab, title=c("Title 1", "2nd title"), foot="Foot")
plt <- plot(ttbl)
acol(plt, id="title") # block "title" spans all columns
acol(plt, id="body,4,2") # single entry
# Remove the columns for "Petal" measurements (a value in column
# header layer 2):
plot(ttbl[, -acol(ttbl, hpath=c(NA, "Petal"))])
# Remove the "Length" measurements (a value in column header layer 3):
plot(ttbl[, -acol(ttbl, hpath=c(NA, NA, "Length"))])
# Remove the "Length" measurements just for "Petal":
plot(ttbl[, -acol(ttbl, hpath=c(NA, "Petal", "Length"))])