bystats {Hmisc}  R Documentation 
Statistics by Categories
Description
For any number of crossclassification variables, bystats
returns a matrix with the sample size, number missing y
, and
fun(nonmissing y)
, with the crossclassifications designated
by rows. Uses Harrell's modification of the interaction
function to produce crossclassifications. The default fun
is
mean
, and if y
is binary, the mean is labeled as
Fraction
. There is a print
method as well as a
latex
method for objects created by bystats
.
bystats2
handles the special case in which there are 2
classifcation variables, and places the first one in rows and the
second in columns. The print
method for bystats2
uses
the print.char.matrix
function to organize statistics
for cells into boxes.
Usage
bystats(y, ..., fun, nmiss, subset)
## S3 method for class 'bystats'
print(x, ...)
## S3 method for class 'bystats'
latex(object, title, caption, rowlabel, ...)
bystats2(y, v, h, fun, nmiss, subset)
## S3 method for class 'bystats2'
print(x, abbreviate.dimnames=FALSE,
prefix.width=max(nchar(dimnames(x)[[1]])), ...)
## S3 method for class 'bystats2'
latex(object, title, caption, rowlabel, ...)
Arguments
y 
a binary, logical, or continuous variable or a matrix or data frame of
such variables. If 
... 
For 
v 
vertical variable for 
h 
horizontal variable for 
fun 
a function to compute on the nonmissing 
nmiss 
A column containing a count of missing values is included if 
subset 
a vector of subscripts or logical values indicating the subset of data to analyze 
abbreviate.dimnames 
set to 
prefix.width 

title 

caption 
caption to pass to 
rowlabel 

x 
an object created by 
object 
an object created by 
Value
for bystats
, a matrix with row names equal to the classification labels and column
names N, Missing, funlab
, where funlab
is determined from fun
.
A row is added to the end with the summary statistics computed
on all observations combined. The class of this matrix is bystats
.
For bystats
, returns a 3dimensional array with the last dimension
corresponding to statistics being computed. The class of the array is
bystats2
.
Side Effects
latex
produces a .tex
file.
Author(s)
Frank Harrell
Department of Biostatistics
Vanderbilt University
fh@fharrell.com
See Also
interaction
, cut
, cut2
, latex
, print.char.matrix
,
translate
Examples
## Not run:
bystats(sex==2, county, city)
bystats(death, race)
bystats(death, cut2(age,g=5), race)
bystats(cholesterol, cut2(age,g=4), sex, fun=median)
bystats(cholesterol, sex, fun=quantile)
bystats(cholesterol, sex, fun=function(x)c(Mean=mean(x),Median=median(x)))
latex(bystats(death,race,nmiss=FALSE,subset=sex=="female"), digits=2)
f < function(y) c(Hazard=sum(y[,2])/sum(y[,1]))
# f() gets the hazard estimate for rightcensored data from exponential dist.
bystats(cbind(d.time, death), race, sex, fun=f)
bystats(cbind(pressure, cholesterol), age.decile,
fun=function(y) c(Median.pressure =median(y[,1]),
Median.cholesterol=median(y[,2])))
y < cbind(pressure, cholesterol)
bystats(y, age.decile,
fun=function(y) apply(y, 2, median)) # same result as last one
bystats(y, age.decile, fun=function(y) apply(y, 2, quantile, c(.25,.75)))
# The last one computes separately the 0.25 and 0.75 quantiles of 2 vars.
latex(bystats2(death, race, sex, fun=table))
## End(Not run)