This function returns a frequency table of labelled vectors, as data frame.
A vector or a data frame. May also be a grouped data frame (see 'Note' and 'Examples').
Optional, unquoted names of variables that should be selected for
further processing. Required, if x
is a data frame (and no
vector) and only selected variables from x
should be processed.
You may also use functions like :
or tidyselect's
select-helpers.
See 'Examples' or package-vignette.
Determines whether categories should be sorted
according to their frequencies or not. Default is "none"
, so
categories are not sorted by frequency. Use "asc"
or
"desc"
for sorting categories ascending or descending order.
Bare name, or name as string, of a variable in x
that indicates the vector of weights, which will be applied to weight all
observations. Default is NULL
, so no weights are used.
Numeric value, indicating the minimum amount of unique
values in a variable, at which automatic grouping into smaller units
is done (see group_var
). Default value for auto.group
is NULL
, i.e. auto-grouping is off.
Logical, if TRUE
, frequency tables for character
vectors will not be printed. This is useful when printing frequency tables
of all variables from a data frame, and due to computational reasons
character vectors should not be printed.
Logical, or "auto"
. If TRUE
, the output always
contains information on missing values, even if variables have no missing
values. If FALSE
, information on missing values are removed from
the output. If show.na = "auto"
, information on missing values
is only shown when variables actually have missing values, else it's not
shown.
Numeric, if not NULL
, groups string values in
character vectors, based on their similarity. See group_str
and str_find
for details on grouping, and their
precision
-argument to get more details on the distance of strings
to be treated as equal.
Numeric, indicating the minimum frequency for which a
value will be shown in the output (except for the missing values, prevailing
show.na
). Default value for min.frq
is 0
, so all value
frequencies are shown. All values or categories that have less than
min.frq
occurences in the data will be summarized in a "n < 100"
category.
Character vector, indicating whether the results should be printed
to console (out = "txt"
) or as HTML-table in the viewer-pane
(out = "viewer"
) or browser (out = "browser"
).
String, will be used as alternative title to the variable
label. If x
is a grouped data frame, title
must be a
vector of same length as groups.
Character vector, indicating the charset encoding used
for variable and value labels. Default is "UTF-8"
. Only used
when out
is not "txt"
.
Destination file, if the output should be saved as file.
Only used when out
is not "txt"
.
A list of data frames with values, value labels, frequencies, raw, valid and
cumulative percentages of x
.
The ...-argument not only accepts variable names or expressions from select-helpers. You can also use logical conditions, math operations, or combining variables to produce "crosstables". See 'Examples' for more details.
x
may also be a grouped data frame (see group_by
)
with up to two grouping variables. Frequency tables are created for each
subgroup then.
The print()
-method adds a table header with information on the
variable label, variable type, total and valid N, and mean and
standard deviations. Mean and SD are always printed, even for
categorical variables (factors) or character vectors. In this case,
values are coerced into numeric vector to calculate the summary
statistics.
To print tables in markdown or HTML format, use print_md()
or
print_html()
.
flat_table
for labelled (proportional) tables.
# simple vector
data(efc)
frq(efc$e42dep)
#> elder's dependency (x) <numeric>
#> # total N=908 valid N=901 mean=2.94 sd=0.94
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> -------------------------------------------------------------
#> 1 | independent | 66 | 7.27 | 7.33 | 7.33
#> 2 | slightly dependent | 225 | 24.78 | 24.97 | 32.30
#> 3 | moderately dependent | 306 | 33.70 | 33.96 | 66.26
#> 4 | severely dependent | 304 | 33.48 | 33.74 | 100.00
#> <NA> | <NA> | 7 | 0.77 | <NA> | <NA>
# with grouped data frames, in a pipe
library(dplyr)
efc %>%
group_by(e16sex, c172code) %>%
frq(e42dep)
#> elder's dependency (e42dep) <numeric>
#> # grouped by: male, low level of education
#> # total N=80 valid N=80 mean=3.06 sd=0.92
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------
#> 1 | independent | 5 | 6.25 | 6.25 | 6.25
#> 2 | slightly dependent | 16 | 20.00 | 20.00 | 26.25
#> 3 | moderately dependent | 28 | 35.00 | 35.00 | 61.25
#> 4 | severely dependent | 31 | 38.75 | 38.75 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> elder's dependency (e42dep) <numeric>
#> # grouped by: male, intermediate level of education
#> # total N=156 valid N=156 mean=2.83 sd=0.94
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------
#> 1 | independent | 15 | 9.62 | 9.62 | 9.62
#> 2 | slightly dependent | 39 | 25.00 | 25.00 | 34.62
#> 3 | moderately dependent | 59 | 37.82 | 37.82 | 72.44
#> 4 | severely dependent | 43 | 27.56 | 27.56 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> elder's dependency (e42dep) <numeric>
#> # grouped by: male, high level of education
#> # total N=43 valid N=43 mean=2.91 sd=0.81
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------
#> 1 | independent | 1 | 2.33 | 2.33 | 2.33
#> 2 | slightly dependent | 13 | 30.23 | 30.23 | 32.56
#> 3 | moderately dependent | 18 | 41.86 | 41.86 | 74.42
#> 4 | severely dependent | 11 | 25.58 | 25.58 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> elder's dependency (e42dep) <numeric>
#> # grouped by: female, low level of education
#> # total N=99 valid N=99 mean=2.95 sd=0.94
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------
#> 1 | independent | 7 | 7.07 | 7.07 | 7.07
#> 2 | slightly dependent | 25 | 25.25 | 25.25 | 32.32
#> 3 | moderately dependent | 33 | 33.33 | 33.33 | 65.66
#> 4 | severely dependent | 34 | 34.34 | 34.34 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> elder's dependency (e42dep) <numeric>
#> # grouped by: female, intermediate level of education
#> # total N=350 valid N=350 mean=2.90 sd=0.98
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> -------------------------------------------------------------
#> 1 | independent | 30 | 8.57 | 8.57 | 8.57
#> 2 | slightly dependent | 96 | 27.43 | 27.43 | 36.00
#> 3 | moderately dependent | 104 | 29.71 | 29.71 | 65.71
#> 4 | severely dependent | 120 | 34.29 | 34.29 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> elder's dependency (e42dep) <numeric>
#> # grouped by: female, high level of education
#> # total N=113 valid N=113 mean=3.04 sd=0.85
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------
#> 1 | independent | 4 | 3.54 | 3.54 | 3.54
#> 2 | slightly dependent | 26 | 23.01 | 23.01 | 26.55
#> 3 | moderately dependent | 44 | 38.94 | 38.94 | 65.49
#> 4 | severely dependent | 39 | 34.51 | 34.51 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
# show only categories with a minimal amount of frequencies
frq(mtcars$gear)
#> x <numeric>
#> # total N=32 valid N=32 mean=3.69 sd=0.74
#>
#> Value | N | Raw % | Valid % | Cum. %
#> -------------------------------------
#> 3 | 15 | 46.88 | 46.88 | 46.88
#> 4 | 12 | 37.50 | 37.50 | 84.38
#> 5 | 5 | 15.62 | 15.62 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
frq(mtcars$gear, min.frq = 10)
#> x <numeric>
#> # total N=32 valid N=32 mean=3.69 sd=0.74
#>
#> Value | N | Raw % | Valid % | Cum. %
#> --------------------------------------
#> 3 | 15 | 46.88 | 46.88 | 46.88
#> 4 | 12 | 37.50 | 37.50 | 84.38
#> n < 10 | 5 | 15.62 | 15.62 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
frq(mtcars$gear, min.frq = 15)
#> x <numeric>
#> # total N=32 valid N=32 mean=3.69 sd=0.74
#>
#> Value | N | Raw % | Valid % | Cum. %
#> --------------------------------------
#> 3 | 15 | 46.88 | 46.88 | 46.88
#> n < 15 | 17 | 53.12 | 53.12 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
# with select-helpers: all variables from the COPE-Index
# (which all have a "cop" in their name)
frq(efc, contains("cop"))
#> do you feel you cope well as caregiver? (c82cop1) <numeric>
#> # total N=908 valid N=901 mean=3.12 sd=0.58
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | never | 3 | 0.33 | 0.33 | 0.33
#> 2 | sometimes | 97 | 10.68 | 10.77 | 11.10
#> 3 | often | 591 | 65.09 | 65.59 | 76.69
#> 4 | always | 210 | 23.13 | 23.31 | 100.00
#> <NA> | <NA> | 7 | 0.77 | <NA> | <NA>
#>
#> do you find caregiving too demanding? (c83cop2) <numeric>
#> # total N=908 valid N=902 mean=2.02 sd=0.72
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 186 | 20.48 | 20.62 | 20.62
#> 2 | Sometimes | 547 | 60.24 | 60.64 | 81.26
#> 3 | Often | 130 | 14.32 | 14.41 | 95.68
#> 4 | Always | 39 | 4.30 | 4.32 | 100.00
#> <NA> | <NA> | 6 | 0.66 | <NA> | <NA>
#>
#> does caregiving cause difficulties in your relationship with your friends? (c84cop3) <numeric>
#> # total N=908 valid N=902 mean=1.63 sd=0.87
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 516 | 56.83 | 57.21 | 57.21
#> 2 | Sometimes | 252 | 27.75 | 27.94 | 85.14
#> 3 | Often | 82 | 9.03 | 9.09 | 94.24
#> 4 | Always | 52 | 5.73 | 5.76 | 100.00
#> <NA> | <NA> | 6 | 0.66 | <NA> | <NA>
#>
#> does caregiving have negative effect on your physical health? (c85cop4) <numeric>
#> # total N=908 valid N=898 mean=1.77 sd=0.87
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 409 | 45.04 | 45.55 | 45.55
#> 2 | Sometimes | 346 | 38.11 | 38.53 | 84.08
#> 3 | Often | 85 | 9.36 | 9.47 | 93.54
#> 4 | Always | 58 | 6.39 | 6.46 | 100.00
#> <NA> | <NA> | 10 | 1.10 | <NA> | <NA>
#>
#> does caregiving cause difficulties in your relationship with your family? (c86cop5) <numeric>
#> # total N=908 valid N=902 mean=1.39 sd=0.67
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 626 | 68.94 | 69.40 | 69.40
#> 2 | Sometimes | 211 | 23.24 | 23.39 | 92.79
#> 3 | Often | 50 | 5.51 | 5.54 | 98.34
#> 4 | Always | 15 | 1.65 | 1.66 | 100.00
#> <NA> | <NA> | 6 | 0.66 | <NA> | <NA>
#>
#> does caregiving cause financial difficulties? (c87cop6) <numeric>
#> # total N=908 valid N=900 mean=1.29 sd=0.64
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 713 | 78.52 | 79.22 | 79.22
#> 2 | Sometimes | 131 | 14.43 | 14.56 | 93.78
#> 3 | Often | 39 | 4.30 | 4.33 | 98.11
#> 4 | Always | 17 | 1.87 | 1.89 | 100.00
#> <NA> | <NA> | 8 | 0.88 | <NA> | <NA>
#>
#> do you feel trapped in your role as caregiver? (c88cop7) <numeric>
#> # total N=908 valid N=900 mean=1.92 sd=0.91
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 336 | 37.00 | 37.33 | 37.33
#> 2 | Sometimes | 374 | 41.19 | 41.56 | 78.89
#> 3 | Often | 113 | 12.44 | 12.56 | 91.44
#> 4 | Always | 77 | 8.48 | 8.56 | 100.00
#> <NA> | <NA> | 8 | 0.88 | <NA> | <NA>
#>
#> do you feel supported by friends/neighbours? (c89cop8) <numeric>
#> # total N=908 valid N=901 mean=2.16 sd=1.04
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | never | 313 | 34.47 | 34.74 | 34.74
#> 2 | sometimes | 237 | 26.10 | 26.30 | 61.04
#> 3 | often | 241 | 26.54 | 26.75 | 87.79
#> 4 | always | 110 | 12.11 | 12.21 | 100.00
#> <NA> | <NA> | 7 | 0.77 | <NA> | <NA>
#>
#> do you feel caregiving worthwhile? (c90cop9) <numeric>
#> # total N=908 valid N=888 mean=2.93 sd=0.96
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | never | 76 | 8.37 | 8.56 | 8.56
#> 2 | sometimes | 210 | 23.13 | 23.65 | 32.21
#> 3 | often | 300 | 33.04 | 33.78 | 65.99
#> 4 | always | 302 | 33.26 | 34.01 | 100.00
#> <NA> | <NA> | 20 | 2.20 | <NA> | <NA>
# all variables from column "c161sex" to column "c175empl"
frq(efc, c161sex:c175empl)
#> carer's gender (c161sex) <numeric>
#> # total N=908 valid N=901 mean=1.76 sd=0.43
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> -----------------------------------------------
#> 1 | Male | 215 | 23.68 | 23.86 | 23.86
#> 2 | Female | 686 | 75.55 | 76.14 | 100.00
#> <NA> | <NA> | 7 | 0.77 | <NA> | <NA>
#>
#> carer's level of education (c172code) <numeric>
#> # total N=908 valid N=842 mean=1.97 sd=0.63
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------------------
#> 1 | low level of education | 180 | 19.82 | 21.38 | 21.38
#> 2 | intermediate level of education | 506 | 55.73 | 60.10 | 81.47
#> 3 | high level of education | 156 | 17.18 | 18.53 | 100.00
#> <NA> | <NA> | 66 | 7.27 | <NA> | <NA>
#>
#> are you currently employed? (c175empl) <numeric>
#> # total N=908 valid N=902 mean=0.43 sd=0.49
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ----------------------------------------------
#> 0 | no | 518 | 57.05 | 57.43 | 57.43
#> 1 | yes | 384 | 42.29 | 42.57 | 100.00
#> <NA> | <NA> | 6 | 0.66 | <NA> | <NA>
# for non-labelled data, variable name is printed,
# and "label" column is removed from output
data(iris)
frq(iris, Species)
#> Species <categorical>
#> # total N=150 valid N=150 mean=2.00 sd=0.82
#>
#> Value | N | Raw % | Valid % | Cum. %
#> ------------------------------------------
#> setosa | 50 | 33.33 | 33.33 | 33.33
#> versicolor | 50 | 33.33 | 33.33 | 66.67
#> virginica | 50 | 33.33 | 33.33 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
# also works on grouped data frames
efc %>%
group_by(c172code) %>%
frq(is.na(nur_pst))
#> is.na(nur_pst) <lgl>
#> # grouped by: low level of education
#> # total N=180 valid N=180 mean=0.51 sd=0.50
#>
#> Value | N | Raw % | Valid % | Cum. %
#> -------------------------------------
#> FALSE | 89 | 49.44 | 49.44 | 49.44
#> TRUE | 91 | 50.56 | 50.56 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> is.na(nur_pst) <lgl>
#> # grouped by: intermediate level of education
#> # total N=506 valid N=506 mean=0.46 sd=0.50
#>
#> Value | N | Raw % | Valid % | Cum. %
#> --------------------------------------
#> FALSE | 274 | 54.15 | 54.15 | 54.15
#> TRUE | 232 | 45.85 | 45.85 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> is.na(nur_pst) <lgl>
#> # grouped by: high level of education
#> # total N=156 valid N=156 mean=0.47 sd=0.50
#>
#> Value | N | Raw % | Valid % | Cum. %
#> -------------------------------------
#> FALSE | 83 | 53.21 | 53.21 | 53.21
#> TRUE | 73 | 46.79 | 46.79 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
# group variables with large range and with weights
efc$weights <- abs(rnorm(n = nrow(efc), mean = 1, sd = .5))
frq(efc, c160age, auto.grp = 5, weights = weights)
#> carer' age (c160age) <numeric>
#> # total N=918 valid N=918 mean=53.20 sd=13.39
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ----------------------------------------------
#> 1 | 18-32 | 70 | 7.63 | 7.63 | 7.63
#> 2 | 33-47 | 234 | 25.49 | 25.49 | 33.12
#> 3 | 48-62 | 372 | 40.52 | 40.52 | 73.64
#> 4 | 63-77 | 218 | 23.75 | 23.75 | 97.39
#> 5 | 78-92 | 24 | 2.61 | 2.61 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
# different weight options
frq(efc, c172code, weights = weights)
#> carer's level of education (c172code) <numeric>
#> # total N=857 valid N=857 mean=1.97 sd=0.63
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------------------
#> 1 | low level of education | 182 | 21.24 | 21.24 | 21.24
#> 2 | intermediate level of education | 519 | 60.56 | 60.56 | 81.80
#> 3 | high level of education | 156 | 18.20 | 18.20 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
frq(efc, c172code, weights = "weights")
#> carer's level of education (c172code) <numeric>
#> # total N=857 valid N=857 mean=1.97 sd=0.63
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------------------
#> 1 | low level of education | 182 | 21.24 | 21.24 | 21.24
#> 2 | intermediate level of education | 519 | 60.56 | 60.56 | 81.80
#> 3 | high level of education | 156 | 18.20 | 18.20 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
frq(efc, c172code, weights = efc$weights)
#> carer's level of education (c172code) <numeric>
#> # total N=857 valid N=857 mean=1.97 sd=0.63
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------------------
#> 1 | low level of education | 182 | 21.24 | 21.24 | 21.24
#> 2 | intermediate level of education | 519 | 60.56 | 60.56 | 81.80
#> 3 | high level of education | 156 | 18.20 | 18.20 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
frq(efc$c172code, weights = efc$weights)
#> carer's level of education (xw) <numeric>
#> # total N=857 valid N=857 mean=1.97 sd=0.63
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------------------------------
#> 1 | low level of education | 182 | 21.24 | 21.24 | 21.24
#> 2 | intermediate level of education | 519 | 60.56 | 60.56 | 81.80
#> 3 | high level of education | 156 | 18.20 | 18.20 | 100.00
#> <NA> | <NA> | 0 | 0.00 | <NA> | <NA>
# group string values
dummy <- efc[1:50, 3, drop = FALSE]
dummy$words <- sample(
c("Hello", "Helo", "Hole", "Apple", "Ape",
"New", "Old", "System", "Systemic"),
size = nrow(dummy),
replace = TRUE
)
frq(dummy)
#> e16sex <numeric>
#> # total N=50 valid N=50 mean=1.56 sd=0.50
#>
#> Value | N | Raw % | Valid % | Cum. %
#> -------------------------------------
#> 1 | 22 | 44.00 | 44.00 | 44
#> 2 | 28 | 56.00 | 56.00 | 100
#> <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> words <character>
#> # total N=50 valid N=50 mean=5.12 sd=2.89
#>
#> Value | N | Raw % | Valid % | Cum. %
#> ----------------------------------------
#> Ape | 7 | 14.00 | 14.00 | 14.00
#> Apple | 6 | 12.00 | 12.00 | 26.00
#> Hello | 6 | 12.00 | 12.00 | 38.00
#> Helo | 3 | 6.00 | 6.00 | 44.00
#> Hole | 2 | 4.00 | 4.00 | 48.00
#> New | 9 | 18.00 | 18.00 | 66.00
#> Old | 3 | 6.00 | 6.00 | 72.00
#> System | 4 | 8.00 | 8.00 | 80.00
#> Systemic | 10 | 20.00 | 20.00 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
frq(dummy, grp.strings = 2)
#> e16sex <numeric>
#> # total N=50 valid N=50 mean=1.56 sd=0.50
#>
#> Value | N | Raw % | Valid % | Cum. %
#> -------------------------------------
#> 1 | 22 | 44.00 | 44.00 | 44
#> 2 | 28 | 56.00 | 56.00 | 100
#> <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> words <character>
#> # total N=50 valid N=50 mean=3.44 sd=2.01
#>
#> Value | N | Raw % | Valid % | Cum. %
#> ------------------------------------------------
#> Ape, Apple | 13 | 26.00 | 26.00 | 26
#> Hello, Helo | 9 | 18.00 | 18.00 | 44
#> Hole | 2 | 4.00 | 4.00 | 48
#> New | 9 | 18.00 | 18.00 | 66
#> Old | 3 | 6.00 | 6.00 | 72
#> System, Systemic | 14 | 28.00 | 28.00 | 100
#> <NA> | 0 | 0.00 | <NA> | <NA>
#### other expressions than variables
# logical conditions
frq(mtcars, cyl ==6)
#> cyl == 6 <lgl>
#> # total N=32 valid N=32 mean=0.22 sd=0.42
#>
#> Value | N | Raw % | Valid % | Cum. %
#> -------------------------------------
#> FALSE | 25 | 78.12 | 78.12 | 78.12
#> TRUE | 7 | 21.88 | 21.88 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
frq(efc, is.na(nur_pst), contains("cop"))
#> is.na(nur_pst) <lgl>
#> # total N=908 valid N=908 mean=0.46 sd=0.50
#>
#> Value | N | Raw % | Valid % | Cum. %
#> --------------------------------------
#> FALSE | 489 | 53.85 | 53.85 | 53.85
#> TRUE | 419 | 46.15 | 46.15 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> do you feel you cope well as caregiver? (c82cop1) <numeric>
#> # total N=908 valid N=901 mean=3.12 sd=0.58
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | never | 3 | 0.33 | 0.33 | 0.33
#> 2 | sometimes | 97 | 10.68 | 10.77 | 11.10
#> 3 | often | 591 | 65.09 | 65.59 | 76.69
#> 4 | always | 210 | 23.13 | 23.31 | 100.00
#> <NA> | <NA> | 7 | 0.77 | <NA> | <NA>
#>
#> do you find caregiving too demanding? (c83cop2) <numeric>
#> # total N=908 valid N=902 mean=2.02 sd=0.72
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 186 | 20.48 | 20.62 | 20.62
#> 2 | Sometimes | 547 | 60.24 | 60.64 | 81.26
#> 3 | Often | 130 | 14.32 | 14.41 | 95.68
#> 4 | Always | 39 | 4.30 | 4.32 | 100.00
#> <NA> | <NA> | 6 | 0.66 | <NA> | <NA>
#>
#> does caregiving cause difficulties in your relationship with your friends? (c84cop3) <numeric>
#> # total N=908 valid N=902 mean=1.63 sd=0.87
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 516 | 56.83 | 57.21 | 57.21
#> 2 | Sometimes | 252 | 27.75 | 27.94 | 85.14
#> 3 | Often | 82 | 9.03 | 9.09 | 94.24
#> 4 | Always | 52 | 5.73 | 5.76 | 100.00
#> <NA> | <NA> | 6 | 0.66 | <NA> | <NA>
#>
#> does caregiving have negative effect on your physical health? (c85cop4) <numeric>
#> # total N=908 valid N=898 mean=1.77 sd=0.87
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 409 | 45.04 | 45.55 | 45.55
#> 2 | Sometimes | 346 | 38.11 | 38.53 | 84.08
#> 3 | Often | 85 | 9.36 | 9.47 | 93.54
#> 4 | Always | 58 | 6.39 | 6.46 | 100.00
#> <NA> | <NA> | 10 | 1.10 | <NA> | <NA>
#>
#> does caregiving cause difficulties in your relationship with your family? (c86cop5) <numeric>
#> # total N=908 valid N=902 mean=1.39 sd=0.67
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 626 | 68.94 | 69.40 | 69.40
#> 2 | Sometimes | 211 | 23.24 | 23.39 | 92.79
#> 3 | Often | 50 | 5.51 | 5.54 | 98.34
#> 4 | Always | 15 | 1.65 | 1.66 | 100.00
#> <NA> | <NA> | 6 | 0.66 | <NA> | <NA>
#>
#> does caregiving cause financial difficulties? (c87cop6) <numeric>
#> # total N=908 valid N=900 mean=1.29 sd=0.64
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 713 | 78.52 | 79.22 | 79.22
#> 2 | Sometimes | 131 | 14.43 | 14.56 | 93.78
#> 3 | Often | 39 | 4.30 | 4.33 | 98.11
#> 4 | Always | 17 | 1.87 | 1.89 | 100.00
#> <NA> | <NA> | 8 | 0.88 | <NA> | <NA>
#>
#> do you feel trapped in your role as caregiver? (c88cop7) <numeric>
#> # total N=908 valid N=900 mean=1.92 sd=0.91
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | Never | 336 | 37.00 | 37.33 | 37.33
#> 2 | Sometimes | 374 | 41.19 | 41.56 | 78.89
#> 3 | Often | 113 | 12.44 | 12.56 | 91.44
#> 4 | Always | 77 | 8.48 | 8.56 | 100.00
#> <NA> | <NA> | 8 | 0.88 | <NA> | <NA>
#>
#> do you feel supported by friends/neighbours? (c89cop8) <numeric>
#> # total N=908 valid N=901 mean=2.16 sd=1.04
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | never | 313 | 34.47 | 34.74 | 34.74
#> 2 | sometimes | 237 | 26.10 | 26.30 | 61.04
#> 3 | often | 241 | 26.54 | 26.75 | 87.79
#> 4 | always | 110 | 12.11 | 12.21 | 100.00
#> <NA> | <NA> | 7 | 0.77 | <NA> | <NA>
#>
#> do you feel caregiving worthwhile? (c90cop9) <numeric>
#> # total N=908 valid N=888 mean=2.93 sd=0.96
#>
#> Value | Label | N | Raw % | Valid % | Cum. %
#> --------------------------------------------------
#> 1 | never | 76 | 8.37 | 8.56 | 8.56
#> 2 | sometimes | 210 | 23.13 | 23.65 | 32.21
#> 3 | often | 300 | 33.04 | 33.78 | 65.99
#> 4 | always | 302 | 33.26 | 34.01 | 100.00
#> <NA> | <NA> | 20 | 2.20 | <NA> | <NA>
iris %>%
frq(starts_with("Petal"), Sepal.Length > 5)
#> Petal.Length <numeric>
#> # total N=150 valid N=150 mean=3.76 sd=1.77
#>
#> Value | N | Raw % | Valid % | Cum. %
#> -------------------------------------
#> 1.00 | 1 | 0.67 | 0.67 | 0.67
#> 1.10 | 1 | 0.67 | 0.67 | 1.33
#> 1.20 | 2 | 1.33 | 1.33 | 2.67
#> 1.30 | 7 | 4.67 | 4.67 | 7.33
#> 1.40 | 13 | 8.67 | 8.67 | 16.00
#> 1.50 | 13 | 8.67 | 8.67 | 24.67
#> 1.60 | 7 | 4.67 | 4.67 | 29.33
#> 1.70 | 4 | 2.67 | 2.67 | 32.00
#> 1.90 | 2 | 1.33 | 1.33 | 33.33
#> 3.00 | 1 | 0.67 | 0.67 | 34.00
#> 3.30 | 2 | 1.33 | 1.33 | 35.33
#> 3.50 | 2 | 1.33 | 1.33 | 36.67
#> 3.60 | 1 | 0.67 | 0.67 | 37.33
#> 3.70 | 1 | 0.67 | 0.67 | 38.00
#> 3.80 | 1 | 0.67 | 0.67 | 38.67
#> 3.90 | 3 | 2.00 | 2.00 | 40.67
#> 4.00 | 5 | 3.33 | 3.33 | 44.00
#> 4.10 | 3 | 2.00 | 2.00 | 46.00
#> 4.20 | 4 | 2.67 | 2.67 | 48.67
#> 4.30 | 2 | 1.33 | 1.33 | 50.00
#> 4.40 | 4 | 2.67 | 2.67 | 52.67
#> 4.50 | 8 | 5.33 | 5.33 | 58.00
#> 4.60 | 3 | 2.00 | 2.00 | 60.00
#> 4.70 | 5 | 3.33 | 3.33 | 63.33
#> 4.80 | 4 | 2.67 | 2.67 | 66.00
#> 4.90 | 5 | 3.33 | 3.33 | 69.33
#> 5.00 | 4 | 2.67 | 2.67 | 72.00
#> 5.10 | 8 | 5.33 | 5.33 | 77.33
#> 5.20 | 2 | 1.33 | 1.33 | 78.67
#> 5.30 | 2 | 1.33 | 1.33 | 80.00
#> 5.40 | 2 | 1.33 | 1.33 | 81.33
#> 5.50 | 3 | 2.00 | 2.00 | 83.33
#> 5.60 | 6 | 4.00 | 4.00 | 87.33
#> 5.70 | 3 | 2.00 | 2.00 | 89.33
#> 5.80 | 3 | 2.00 | 2.00 | 91.33
#> 5.90 | 2 | 1.33 | 1.33 | 92.67
#> 6.00 | 2 | 1.33 | 1.33 | 94.00
#> 6.10 | 3 | 2.00 | 2.00 | 96.00
#> 6.30 | 1 | 0.67 | 0.67 | 96.67
#> 6.40 | 1 | 0.67 | 0.67 | 97.33
#> 6.60 | 1 | 0.67 | 0.67 | 98.00
#> 6.70 | 2 | 1.33 | 1.33 | 99.33
#> 6.90 | 1 | 0.67 | 0.67 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> Petal.Width <numeric>
#> # total N=150 valid N=150 mean=1.20 sd=0.76
#>
#> Value | N | Raw % | Valid % | Cum. %
#> -------------------------------------
#> 0.10 | 5 | 3.33 | 3.33 | 3.33
#> 0.20 | 29 | 19.33 | 19.33 | 22.67
#> 0.30 | 7 | 4.67 | 4.67 | 27.33
#> 0.40 | 7 | 4.67 | 4.67 | 32.00
#> 0.50 | 1 | 0.67 | 0.67 | 32.67
#> 0.60 | 1 | 0.67 | 0.67 | 33.33
#> 1.00 | 7 | 4.67 | 4.67 | 38.00
#> 1.10 | 3 | 2.00 | 2.00 | 40.00
#> 1.20 | 5 | 3.33 | 3.33 | 43.33
#> 1.30 | 13 | 8.67 | 8.67 | 52.00
#> 1.40 | 8 | 5.33 | 5.33 | 57.33
#> 1.50 | 12 | 8.00 | 8.00 | 65.33
#> 1.60 | 4 | 2.67 | 2.67 | 68.00
#> 1.70 | 2 | 1.33 | 1.33 | 69.33
#> 1.80 | 12 | 8.00 | 8.00 | 77.33
#> 1.90 | 5 | 3.33 | 3.33 | 80.67
#> 2.00 | 6 | 4.00 | 4.00 | 84.67
#> 2.10 | 6 | 4.00 | 4.00 | 88.67
#> 2.20 | 3 | 2.00 | 2.00 | 90.67
#> 2.30 | 8 | 5.33 | 5.33 | 96.00
#> 2.40 | 3 | 2.00 | 2.00 | 98.00
#> 2.50 | 3 | 2.00 | 2.00 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
#>
#> Sepal.Length > 5 <lgl>
#> # total N=150 valid N=150 mean=0.79 sd=0.41
#>
#> Value | N | Raw % | Valid % | Cum. %
#> --------------------------------------
#> FALSE | 32 | 21.33 | 21.33 | 21.33
#> TRUE | 118 | 78.67 | 78.67 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
# computation of variables "on the fly"
frq(mtcars, (gear + carb) / cyl)
#> (gear + carb)/cyl <numeric>
#> # total N=32 valid N=32 mean=1.12 sd=0.38
#>
#> Value | N | Raw % | Valid % | Cum. %
#> ------------------------------------
#> 0.62 | 4 | 12.50 | 12.50 | 12.50
#> 0.67 | 2 | 6.25 | 6.25 | 18.75
#> 0.75 | 3 | 9.38 | 9.38 | 28.12
#> 0.88 | 5 | 15.62 | 15.62 | 43.75
#> 1.00 | 1 | 3.12 | 3.12 | 46.88
#> 1.12 | 1 | 3.12 | 3.12 | 50.00
#> 1.25 | 4 | 12.50 | 12.50 | 62.50
#> 1.33 | 4 | 12.50 | 12.50 | 75.00
#> 1.50 | 4 | 12.50 | 12.50 | 87.50
#> 1.62 | 1 | 3.12 | 3.12 | 90.62
#> 1.75 | 2 | 6.25 | 6.25 | 96.88
#> 1.83 | 1 | 3.12 | 3.12 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
# crosstables
set.seed(123)
d <- data.frame(
var_x = sample(letters[1:3], size = 30, replace = TRUE),
var_y = sample(1:2, size = 30, replace = TRUE),
var_z = sample(LETTERS[8:10], size = 30, replace = TRUE)
)
table(d$var_x, d$var_z)
#>
#> H I J
#> a 1 5 2
#> b 3 4 4
#> c 6 2 3
frq(d, paste0(var_x, var_z))
#> paste0(var_x, var_z) <character>
#> # total N=30 valid N=30 mean=5.27 sd=2.38
#>
#> Value | N | Raw % | Valid % | Cum. %
#> ------------------------------------
#> aH | 1 | 3.33 | 3.33 | 3.33
#> aI | 5 | 16.67 | 16.67 | 20.00
#> aJ | 2 | 6.67 | 6.67 | 26.67
#> bH | 3 | 10.00 | 10.00 | 36.67
#> bI | 4 | 13.33 | 13.33 | 50.00
#> bJ | 4 | 13.33 | 13.33 | 63.33
#> cH | 6 | 20.00 | 20.00 | 83.33
#> cI | 2 | 6.67 | 6.67 | 90.00
#> cJ | 3 | 10.00 | 10.00 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>
frq(d, paste0(var_x, var_y, var_z))
#> paste0(var_x, var_y, var_z) <character>
#> # total N=30 valid N=30 mean=6.97 sd=3.69
#>
#> Value | N | Raw % | Valid % | Cum. %
#> ------------------------------------
#> a1H | 1 | 3.33 | 3.33 | 3.33
#> a1J | 2 | 6.67 | 6.67 | 10.00
#> a2I | 5 | 16.67 | 16.67 | 26.67
#> b1H | 2 | 6.67 | 6.67 | 33.33
#> b1I | 3 | 10.00 | 10.00 | 43.33
#> b1J | 2 | 6.67 | 6.67 | 50.00
#> b2H | 1 | 3.33 | 3.33 | 53.33
#> b2I | 1 | 3.33 | 3.33 | 56.67
#> b2J | 2 | 6.67 | 6.67 | 63.33
#> c1H | 5 | 16.67 | 16.67 | 80.00
#> c1I | 2 | 6.67 | 6.67 | 86.67
#> c1J | 3 | 10.00 | 10.00 | 96.67
#> c2H | 1 | 3.33 | 3.33 | 100.00
#> <NA> | 0 | 0.00 | <NA> | <NA>