biVar {Hmisc}  R Documentation 
Bivariate Summaries Computed Separately by a Series of Predictors
Description
biVar
is a generic function that accepts a formula and usual
data
, subset
, and na.action
parameters plus a
list statinfo
that specifies a function of two variables to
compute along with information about labeling results for printing and
plotting. The function is called separately with each right hand side
variable and the same left hand variable. The result is a matrix of
bivariate statistics and the statinfo
list that drives printing
and plotting. The plot method draws a dot plot with xaxis values by
default sorted in order of one of the statistics computed by the function.
spearman2
computes the square of Spearman's rho rank correlation
and a generalization of it in which x
can relate
nonmonotonically to y
. This is done by computing the Spearman
multiple rhosquared between (rank(x), rank(x)^2)
and y
.
When x
is categorical, a different kind of Spearman correlation
used in the KruskalWallis test is computed (and spearman2
can do
the KruskalWallis test). This is done by computing the ordinary
multiple R^2
between k1
dummy variables and
rank(y)
, where x
has k
categories. x
can
also be a formula, in which case each predictor is correlated separately
with y
, using nonmissing observations for that predictor.
biVar
is used to do the looping and bookkeeping. By default the
plot shows the adjusted rho^2
, using the same formula used for
the ordinary adjusted R^2
. The F
test uses the unadjusted
R2.
spearman
computes Spearman's rho on nonmissing values of two
variables. spearman.test
is a simple version of
spearman2.default
.
chiSquare
is set up like spearman2
except it is intended
for a categorical response variable. Separate Pearson chisquare tests
are done for each predictor, with optional collapsing of infrequent
categories. Numeric predictors having more than g
levels are
categorized into g
quantile groups. chiSquare
uses
biVar
.
Usage
biVar(formula, statinfo, data=NULL, subset=NULL,
na.action=na.retain, exclude.imputed=TRUE, ...)
## S3 method for class 'biVar'
print(x, ...)
## S3 method for class 'biVar'
plot(x, what=info$defaultwhat,
sort.=TRUE, main, xlab,
vnames=c('names','labels'), ...)
spearman2(x, ...)
## Default S3 method:
spearman2(x, y, p=1, minlev=0, na.rm=TRUE, exclude.imputed=na.rm, ...)
## S3 method for class 'formula'
spearman2(formula, data=NULL,
subset, na.action=na.retain, exclude.imputed=TRUE, ...)
spearman(x, y)
spearman.test(x, y, p=1)
chiSquare(formula, data=NULL, subset=NULL, na.action=na.retain,
exclude.imputed=TRUE, ...)
Arguments
formula 
a formula with a single left side variable 
statinfo 
see 
data , subset , na.action 
the usual options for models. Default for 
exclude.imputed 
set to 
... 
other arguments that are passed to the function used to
compute the bivariate statistics or to 
na.rm 
logical; delete NA values? 
x 
a numeric matrix with at least 5 rows and at least 2 columns (if

y 
a numeric vector 
p 
for numeric variables, specifies the order of the Spearman 
minlev 
minimum relative frequency that a level of a categorical predictor
should have before it is pooled with other categories (see

what 
specifies which statistic to plot. Possibilities include the column names that appear with the print method is used. 
sort. 
set 
main 
main title for plot. Default title shows the name of the response variable. 
xlab 
xaxis label. Default constructed from 
vnames 
set to 
Details
Uses midranks in case of ties, as described by Hollander and Wolfe.
Pvalues for Spearman, Wilcoxon, or KruskalWallis tests are
approximated by using the t
or F
distributions.
Value
spearman2.default
(the
function that is called for a single x
, i.e., when there is no
formula) returns a vector of statistics for the variable.
biVar
, spearman2.formula
, and chiSquare
return a
matrix with rows corresponding to predictors.
Author(s)
Frank Harrell
Department of Biostatistics
Vanderbilt University
fh@fharrell.com
References
Hollander M. and Wolfe D.A. (1973). Nonparametric Statistical Methods. New York: Wiley.
Press WH, Flannery BP, Teukolsky SA, Vetterling, WT (1988): Numerical Recipes in C. Cambridge: Cambridge University Press.
See Also
combine.levels
,
varclus
, dotchart3
, impute
,
chisq.test
, cut2
.
Examples
x < c(2, 1, 0, 1, 2)
y < c(4, 1, 0, 1, 4)
z < c(1, 2, 3, 4, NA)
v < c(1, 2, 3, 4, 5)
spearman2(x, y)
plot(spearman2(z ~ x + y + v, p=2))
f < chiSquare(z ~ x + y + v)
f