Freq {DescTools} | R Documentation |
Frequency Table for a Single Variable
Description
Calculates absolute and relative frequencies of a vector x
. Continuous (numeric) variables
will be cut using the same logic as used by the function hist
.
Categorical variables will be aggregated by table
. The result will contain single and cumulative frequencies for both, absolute values and percentages.
Usage
Freq(x, breaks = hist(x, plot = FALSE)$breaks, include.lowest = TRUE,
ord = c("level", "desc", "asc", "name"),
useNA = c("no", "ifany", "always"), ...)
## S3 method for class 'Freq'
print(x, digits = NULL, ...)
Arguments
x |
the variable to be described, can be any atomic type. |
breaks |
either a numeric vector of two or more cut points or a single number (greater than or equal to 2)
giving the number of intervals into which x is to be cut. Default taken from the function |
include.lowest |
logical, indicating if an x[i] equal to the lowest (or highest, for |
ord |
how should the result be ordered? Default is |
useNA |
one out of |
digits |
integer, determining the number of digits used to format the relative frequencies. |
... |
further arguments are passed to the function |
Details
By default only the valid cases are considered for the frequencies, say NA
values are excluded. (This is in accordance with the default behavior of the R function table
, which seemed a reasonable reference.) If the NA
s should be included you can set the useNA
argument to either "ifany"
or "always"
.
For numeric variables, if breaks
is specified as a single number, the range of the data is divided into breaks pieces of equal length,
and then the outer limits are moved away by 0.1% of the range to ensure that the extreme values both fall
within the break intervals.
(If x
is a constant vector, equal-length intervals are created that cover the single value.) See cut
.
Value
an object of type "Freq"
, which is basically a data.frame with 5 columns (earning a specific print routine), containing the following components:
level |
factor. The levels of the grouping variable. |
freq |
integer. The absolute frequencies. |
perc |
numeric. The relative frequencies (percent). |
cumfreq |
integer. The cumulative sum of the absolute frequencies. |
cumperc |
numeric. The cumulative sum of the relative frequencies. |
Author(s)
Andri Signorell <andri@signorell.net>
See Also
cut
, hist
, cumsum
, table
, prop.table
,
PercTable
, Freq2D
Examples
data(d.pizza)
# result is a data.frame
d.freq <- Freq(d.pizza$price)
d.freq
# it is printed by default with 3 digits for the percent values,
# but the number of digits can be defined in the print function
print(d.freq, digits=5)
# sorted by frequency
Freq(d.pizza$driver, ord="desc")
# sorted by name using all the observations, say including NAs
Freq(d.pizza$driver, ord="name", useNA="ifany")
# percentages and cumulative frequencies for a vector of count data
Freq(as.table(c(2,4,12,8)))