Hmisc (version 3.0-1)

Misc: Miscellaneous Functions

Description

This documents miscellaneous small functions in Hmisc that may be of interest to users.

confbar draws multi-level confidence bars using small rectangles that may be of different colors.

james.stein computes James-Stein shrunken estimates of cell means given a response variable (which may be binary) and a grouping indicator.

km.quick provides a fast way to invoke survfit.km in the survival package to get Kaplan-Meier estimates for a single stratum for a vector of time points (if times is given) or to get a vector of survival time quantiles (if q is given).

lm.fit.qr.bare is a fast stripped-down function for computing regression coefficients, residuals, $R^2$, and fitted values. It uses the Fortran routines dqrls.

matxv multiplies a matrix by a vector, handling automatic addition of intercepts if the matrix does not have a column of ones. If the first argument is not a matrix, it will be converted to one.

nomiss returns a data frame (if its argument is one) with rows corresponding to NAs removed, or it returns a matrix with rows with any element missing removed.

outerText uses text() to put test strings in left or right margins. It temporarily sets par(xpd=NA) if using R.

sepUnitsTrans converts character vectors containing values such as c("3 days","3day","4month","2 years","2weeks","7") to numeric vectors (here c(3,3,122,730,14,7)) in a flexible fashion. The user can specify a vector of units of measurements and conversion factors. The units with a conversion factor of 1 are taken as the target units, and if those units are present in the character strings they are ignored. The target units are added to the resulting vector as the "units" attribute. trap.rule computes the area under a curve using the trapezoidal rule, assuming x is sorted.

trellis.strip.blank sets up Trellis or Lattice graphs to have a clear background on the strips for panel labels. under.unix is a scalar logical value that is TRUE if you are running Linux or Unix.

.R. is a logical value set to TRUE if running R, FALSE for S-Plus.

.SV4. is a logical value set to TRUE if running version 4 of the S language under S-Plus, FALSE otherwise. unPaste provides a version of the S-Plus unpaste that works for Rand S-Plus.

whichClosePW is a very fast function using weighted multinomial sampling to determine which element of a vector is "closest" to each element of another vector. whichClosest quickly finds the closest element without any randomness.

xless is a function for Linux/Unix users to invoke the system xless command to pop up a window to display the result of printing an object.

Usage

confbar(at, est, se, width, q = c(0.7, 0.8, 0.9, 0.95, 0.99), 
        col = if (.R.) gray(c(0, 0.25, 0.5, 0.75, 1)) else
              if (under.unix) c(1, 0.8, 0.5, 0.2, 0.065) else
              c(1, 4, 3, 2, 5),
        type = c("v", "h"), labels = TRUE, ticks = FALSE,
        cex = 0.5, side = "l", lwd = 5, clip = c(-1e+30, 1e+30),
        fun = function(x) x,
        qfun = function(x) ifelse(x == 0.5, qnorm(x),
                            ifelse(x < 0.5, qnorm(x/2),
                            qnorm((1 +  x)/2))))
james.stein(y, group)
km.quick(S, times, q)
lm.fit.qr.bare(x, y, tolerance, intercept=TRUE, xpxi=FALSE)
matxv(a, b, kint=1)
nomiss(x)
outerText(string, y, setAside=string[1], side=4, space=1,
          adj=1, cex=par('cex'))
sepUnitsTrans(x, conversion=c(day=1, month=365.25/12, year=365.25, week=7),
              round=FALSE, digits=0)
trap.rule(x, y)
trellis.strip.blank()
unPaste(str, sep="/", extended=FALSE)
whichClosest(x, w)
whichClosePW(x, w, f=0.2)
xless(x, ..., title)

Arguments

at
x-coordinate for vertical confidence intervals, y-coordinate for horizontal
est
vector of point estimates for confidence limits
se
vector of standard errors
width
width of confidence rectanges in user units
q
vector of confidence coefficients or quantiles
col
vector of colors
type
"v" for vertical, "h" for horizontal
labels
set to FALSE to omit drawing confidence coefficients
ticks
set to TRUE to draw lines between rectangles
cex
character expansion factor
side
for confbar is "b","l","t","r" for bottom, left, top, right. For outText is the using integers 1-4 corresponding to these.
lwd
line widths
clip
interval to truncate limits
fun
function to transform scale
qfun
quantiles on transformed scale
group
a categorical grouping variable
S
a Surv object
times
a numeric vector of times
tolerance
tolerance for judging singularity in matrix
intercept
set to FALSE to not automatically add a column of ones to the x matrix
xpxi
set to TRUE to add an element to the result containing the inverse of $X'X$
a
a numeric matrix or vector
b
a numeric vector
kint
which element of b to add to the result if a does not contain a column for intercepts
string
a character string vector
setAside
for adj=1 side=4, is a character string used to determine the space to set aside for all strings.
space
the number of extra characters to leave to the left of the string(s) (adj=0) or to the right (adj=1)
adj
0 for left justification, 0.5 for centered, 1 for right
conversion
a named numeric vector
round
set to TRUE to round converted values
digits
number of digits used for round
str
a character string vector
w
a numeric vector
x
a numeric vector (matrix for lm.fit.qr.bare) or data frame. For xless may be any object that is sensible to print. For sepUnitsTrans is a character or factor variable.
y
a numeric vector
sep
a single character string specifying the delimiter
extended
see strsplit in R
f
a scaling constant
title
a character string to title a window or plot
...
arguments passed through to another function

Examples

Run this code
trap.rule(1:100,1:100)

unPaste(c('a;b or c','ab;d','qr;s'), ';')

sepUnitsTrans(c('3 days','4 months','2 years','7'))

set.seed(1)
whichClosest(1:100, 3:5)
whichClosest(1:100, rep(3,20))

whichClosePW(1:100, rep(3,20))
whichClosePW(1:100, rep(3,20), f=.05)
whichClosePW(1:100, rep(3,20), f=1e-10)

Run the code above in your browser using DataCamp Workspace