Last data update: 2014.03.03

R: Description of variables
describeR Documentation

Description of variables

Description

Describes a vector or the columns in a matrix or data frame.

Usage

 describe(x,num.desc=c("mean","median","var","sd","valid.n"),xname=NA,
  horizontal=FALSE)

Arguments

x

A vector, matrix or data frame.

num.desc

The names of the functions to apply to numeric data.

xname

A name for the object x, mostly where this would be a very long string describing its structure (e.g. if it was extracted by name from a data frame).

horizontal

Whether to display the results of describe.factor across the page (TRUE) or down the page (FALSE).

Details

describe displays a table of descriptive statistics for numeric, factor and logical variables in the object x. The summary measures for numeric variables can easily be altered with the argument num.desc. Pass a character vector with the names of the desired summary measures and these will be displayed at the top of the numeric block with their results beneath them. If quantiles are desired, the user will have to write wrapper functions that call quantile with the appropriate type or probabilities and use the names of the wrapper functions in num.desc. Remember that any function called by describe must have an na.rm argument.

Percentages are now always displayed and returned in the tables for factor and logical variables.

Value

A list with three components:

Numeric

A list of the values returned from describe.numeric for each column described.

Factor

A list of the tables for each column described.

Logical

A list of the tables for each column described.

Author(s)

Jim Lemon

See Also

Mode, valid.n, describe.numeric, describe.factor

Examples

 sample.df<-data.frame(sex=sample(c("MALE","FEMALE"),100,TRUE),
  income=(rnorm(100)+2.5)*20000,suburb=factor(sample(1:4,100,TRUE)))
 # include the maximum values
 describe(sample.df,num.desc=c("mean","median","max","var","sd","valid.n"))
 # make up a function
 roughness<-function(x,na.rm=TRUE) {
  if(na.rm) x<-x[!is.na(x)]
  xspan<-diff(range(x))
  return(mean(abs(diff(x))/xspan,na.rm=TRUE))
 }
 # now use it
 describe(sample.df$income,num.desc="roughness",xname="income")

Results