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 x-axis 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
non-monotonically to y
. This is done by computing the Spearman
multiple rho-squared between (rank(x), rank(x)^2)
and y
.
When x
is categorical, a different kind of Spearman correlation
used in the Kruskal-Wallis test is computed (and spearman2
can do
the Kruskal-Wallis test). This is done by computing the ordinary
multiple R^2
between k-1
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 non-missing 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 non-missing 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 chi-square 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
.
biVar(formula, statinfo, data=NULL, subset=NULL, na.action=na.retain, exclude.imputed=TRUE, ...)
"print"(x, ...)
"plot"(x, what=info$defaultwhat, sort.=TRUE, main, xlab, vnames=c('names','labels'), ...)
spearman2(x, ...)
"spearman2"(x, y, p=1, minlev=0, na.rm=TRUE, exclude.imputed=na.rm, ...)
"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, ...)
spearman2.formula
or chiSquare
codena.action
is to retain
all values, NA or not, so that NAs can be deleted in only a pairwise
fashion.
FALSE
to include imputed values (created by
impute
) in the calculations.
dotchart3
for
plot
.
y
is absent). For spearman2
, the first argument may
be a vector of any type, including character or factor. The first
argument may also be a formula, in which case all predictors are
correlated individually with
the response variable. x
may be a formula for spearman2
in which case spearman2.formula
is invoked. Each
predictor in the right hand side of the formula is separately correlated
with the response variable. For print
or plot
, x
is an object produced by biVar
. For spearman
and
spearman.test
x
is a numeric vector, as is y
. For
chiSquare
, x
is a formula.
rho^2
to
use. The default is p=1
to compute the ordinary
rho^2
. Use p=2
to compute the quadratic rank
generalization to allow non-monotonicity. p
is ignored for
categorical predictors.
combine.levels
) in spearman2
and chiSquare
(in
which case it also applies to the response). The default,
minlev=0
causes no pooling.
sort.=FALSE
to suppress sorting variables by the
statistic being plotted
what
.
"labels"
to use variable labels in place of names for
plotting. If a variable does not have a label the name is always
used.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.
t
or F
distributions.
Press WH, Flannery BP, Teukolsky SA, Vetterling, WT (1988): Numerical Recipes in C. Cambridge: Cambridge University Press.
combine.levels
,
varclus
, dotchart3
, impute
,
chisq.test
, cut2
.
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
Run the code above in your browser using DataLab