blk.indicators: Blockwise Indicator Functions

blk.indicatorsR Documentation

Blockwise Indicator Functions

Description

Functions that return indicators (logical vectors) indicating rows in a data set that match a criterion.

Usage

blk.firstOnly(id, ind = NULL)
blk.lastOnly(id, ind = NULL)
blk.onlyFirst(id, ind = NULL)
blk.onlyLast(id, ind = NULL)
blk.untilFirst(id, ind, include.first = TRUE, fill = FALSE)
blk.firstOnwards(id, ind, include.first = TRUE, fill = FALSE)
blk.untilLast(id, ind, include.last = TRUE, fill = FALSE)
blk.lastOnwards(id, ind, include.last = TRUE, fill = FALSE)

Arguments

id

A valid block-format ID.

ind

A logical vector in block-format with respect to id.

include.first

A logical. Should the first matching row itself be included?

include.last

A logical. Should the last matching row itself be included?

fill

A value to use when no other value is appropriate.

Details

These functions operate on data sets in block-format.

blk.firstOnly selects the first element of each block for which ind is TRUE. blk.onlyFirst is an alias.

blk.lastOnly selects the last element of each block for which ind is TRUE. blk.onlyLast is an alias.

Setting ind to NULL is equivalent to setting ind = rep(TRUE, length(id)), so the first or last row of each block is selected.

blk.untilFirst selects all elements from the start of each block until the first element of the block for which ind is TRUE. Whether or not that element itself is selected is controlled by include.first. blk.firstOnwards is similar, but it selects all rows from the first element of each block for which ind is TRUE to the end of the block. blk.untilLast and blk.lastOnwards are similar, selecting all elements from the start of the block to the last element for which ind is TRUE, and all elements from this one to the end of the block repectively (including the last element for which ind is TRUE if include.last is FALSE, and excluding it otherwise).

Value

An indicator vector (logical) block-format with respect to id that indicates the elements selected.

Author(s)

Benjamin Rich <mail@benjaminrich.net>

See Also

block-format

Examples

require(nlme)
data(Phenobarb)
dat <- Phenobarb[1:56,] # First 4 subjects
attach(dat)

cbind(dat, IND=blk.firstOnly(asID(Subject), !is.na(conc)))
cbind(dat, IND=blk.lastOnly(asID(Subject), !is.na(conc)))
cbind(dat, IND=blk.untilFirst(asID(Subject), !is.na(conc)))
cbind(dat, IND=blk.untilFirst(asID(Subject), !is.na(conc), FALSE))
cbind(dat, IND=blk.firstOnwards(asID(Subject), !is.na(conc)))
cbind(dat, IND=blk.firstOnwards(asID(Subject), !is.na(conc), FALSE))
cbind(dat, IND=blk.untilLast(asID(Subject), !is.na(dose)))
cbind(dat, IND=blk.untilLast(asID(Subject), !is.na(dose), FALSE))
cbind(dat, IND=blk.lastOnwards(asID(Subject), !is.na(dose)))
cbind(dat, IND=blk.lastOnwards(asID(Subject), !is.na(dose), FALSE))

detach(dat)

benjaminrich/PCSmisc documentation built on Feb. 11, 2024, 9:25 p.m.