Frequency distribution table for categorical data
A S3 set of methods to easily perform categorical frequency distribution table (fdt_cat) from
vector, data.frame and matrix objects.
## S3 generic
fdt_cat(x, ...)
## S3 methods
## Default S3 method:
fdt_cat(x,
sort=TRUE,
decreasing=TRUE, ...)
## S3 method for class 'data.frame'
fdt_cat(x,
by,
sort=TRUE,
decreasing=TRUE, ...)
## S3 method for class 'matrix'
fdt_cat(x,
sort=TRUE,
decreasing=TRUE, ...)x |
A |
by |
Categorical variable used for grouping each categorical response,
useful only on |
sort |
Logical. Should the |
decreasing |
Logical. Should the sort order be increasing or decreasing?
(default = |
... |
Optional further arguments (required by generic). |
The simplest way to run fdt_cat is supplying only the x
object, for example: ct <- fdt_cat(x). In this case all necessary
default values (sort = TRUE and decreasing = TRUE) will be used.
These options make the fdt_cat very easy and flexible.
The fdt_cat object stores information to be used by methods summary,
print, plot and mfv. The result of plot is a bar plot.
The methods summary.fdt_cat, print.fdt_cat and plot.fdt_cat provide a reasonable
set of parameters to format and plot the fdt_cat object in a pretty
(and publishable) way.
For fdt_cat the method fdt_cat.default returns a data.frame storing the fdt.
The methods fdt_cat.data.frame and fdt_cat.matrix
return a list of class fdt_cat..multiple.
This list has one slot for each categorical
variable of the supplied x. Each slot, corresponding to each categorical
variable, stores the same slots of the fdt_cat.default described above.
José Cláudio Faria
Enio G. Jelihovschi
Ivan B. Allaman
library(fdth)
## Categorical
x <- sample(x=letters[1:5],
size=5e2,
rep=TRUE)
(fdt.c <- fdt_cat(x))
(fdt.c <- fdt_cat(x,
sort=FALSE))
##================================================
## Data.frame: multivariated with two categorical
##================================================
mdf <- data.frame(c1=sample(LETTERS[1:3], 1e2, rep=TRUE),
c2=as.factor(sample(1:10, 1e2, rep=TRUE)),
n1=c(NA, NA, rnorm(96, 10, 1), NA, NA),
n2=rnorm(100, 60, 4),
n3=rnorm(100, 50, 4),
stringsAsFactors=TRUE)
head(mdf)
(fdt.c <- fdt_cat(mdf))
(fdt.c <- fdt_cat(mdf,
dec=FALSE))
(fdt.c <- fdt_cat(mdf,
sort=FALSE))
(fdt.c <- fdt_cat(mdf,
by='c1'))
##================================================
## Matrix: two categorical
##================================================
x <- matrix(sample(x=letters[1:10],
size=100,
rep=TRUE),
nc=2,
dimnames=list(NULL,
c('c1', 'c2')))
head(x)
(fdt.c <- fdt_cat(x))Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.