xtab {prettyR}R Documentation

Crosstabulate variables

Description

Crosstabulates variables with small numbers of unique values.

Usage

 xtab(formula,data,varnames=NULL,or=TRUE,chisq=FALSE,phi=FALSE,html=FALSE,
  bgcol="lightgray",lastone=TRUE)

Arguments

formula

a formula containing the variables to be crosstabulated

data

the data frame from which to select the variables

varnames

optional labels for the variables (defaults to ‘⁠names(data))⁠

or

whether to calculate the odds ratio (only for 2x2 tables).

chisq

logical - whether to display chi squared test(s) of the table(s)

phi

whether to calculate and display the phi coefficient of association - only for 2x2 tables

html

whether to format the resulting table with HTML tags.

bgcol

background color for the table if html=TRUE.

lastone

A flag that controls the names of the returned list.

Details

⁠xtab⁠’ will accept a formula referring to columns in a data frame or two explicit variable names. It calls ‘⁠calculate.xtab⁠’ for the calculations and displays one or more tables of results by calling ‘⁠print.xtab⁠’. If ‘⁠html⁠’ is TRUE, the resulting table will be formatted with HTML tags. The default value of ‘⁠lastone⁠’ should not be changed.

Value

The result of ‘⁠calculate.xtab⁠’ if there is only one table to display, otherwise a nested list of tables.

Author(s)

Jim Lemon

See Also

table, calculate.xtab, print.xtab

Examples

 test.df<-data.frame(sex=sample(c("MALE","FEMALE"),1000,TRUE),
 suburb=sample(1:4,1000,TRUE),social.type=sample(LETTERS[1:4],1000,TRUE))
 xtab(sex~suburb+social.type,test.df,chisq=TRUE)
 # now add some value labels
 attr(test.df$suburb,"value.labels")<-1:4
 names(attr(test.df$suburb,"value.labels"))<-
  c("Upper","Middle","Working","Slum")
 attr(test.df$social.type,"value.labels")<-LETTERS[1:4]
 names(attr(test.df$social.type,"value.labels"))<-
  c("Gregarious","Mixer","Aloof","Hermit")
 xtab(sex~suburb+social.type,test.df)
 # now have some fun with ridiculously long factor labels
 testxtab<-data.frame(firstbit=sample(c("Ecomaniacs","Redneck rogues"),50,TRUE),
  secondbit=sample(c("Macho bungy jumpers","Wimpy quiche munchers"),50,TRUE))
 # and format the table in HTML and add some tests
 xtab(secondbit~firstbit,testxtab,html=TRUE,chisq=TRUE,phi=TRUE)

[Package prettyR version 2.2-3 Index]