Generate frequency tables for one or more variables in a data frame or a survey design.
freqtable(.data, ...)
# Default S3 method
freqtable(.data, ..., na.rm = FALSE, weights = NULL)
# S3 method for class 'survey.design'
freqtable(.data, ..., na.rm = FALSE, weights = TRUE)
a data frame or `survey.design` object
one or more expressions accepted by select
selecting at least one variable
Whether to remove missing values in the variables.
If `.data` is a data frame, an optional expression selecting a weighting variable. If `.data` is a survey design, either `TRUE` (the default) to to use survey weights, or `FALSE` or `NULL` to return unweighted frequencies.
The result is an array of class `table`.
data(hdv2003)
freqtable(hdv2003, nivetud, sport)
#> sport
#> nivetud Non Oui
#> N'a jamais fait d'etudes 38 1
#> A arrete ses etudes, avant la derniere annee d'etudes primaires 78 8
#> Derniere annee d'etudes primaires 300 41
#> 1er cycle 161 43
#> 2eme cycle 109 74
#> Enseignement technique ou professionnel court 307 156
#> Enseignement technique ou professionnel long 71 60
#> Enseignement superieur y compris technique superieur 186 255
#> <NA> 27 85
freqtable(hdv2003, nivetud, sport, sexe)
#> , , sexe = Homme
#>
#> sport
#> nivetud Non Oui
#> N'a jamais fait d'etudes 16 0
#> A arrete ses etudes, avant la derniere annee d'etudes primaires 31 6
#> Derniere annee d'etudes primaires 113 18
#> 1er cycle 59 23
#> 2eme cycle 33 34
#> Enseignement technique ou professionnel court 164 83
#> Enseignement technique ou professionnel long 31 36
#> Enseignement superieur y compris technique superieur 78 120
#> <NA> 5 49
#>
#> , , sexe = Femme
#>
#> sport
#> nivetud Non Oui
#> N'a jamais fait d'etudes 22 1
#> A arrete ses etudes, avant la derniere annee d'etudes primaires 47 2
#> Derniere annee d'etudes primaires 187 23
#> 1er cycle 102 20
#> 2eme cycle 76 40
#> Enseignement technique ou professionnel court 143 73
#> Enseignement technique ou professionnel long 40 24
#> Enseignement superieur y compris technique superieur 108 135
#> <NA> 22 36
#>
freqtable(hdv2003, nivetud, sport, weights=poids)
#> sport
#> nivetud Non
#> N'a jamais fait d'etudes 105451.364
#> A arrete ses etudes, avant la derniere annee d'etudes primaires 414954.912
#> Derniere annee d'etudes primaires 1458213.314
#> 1er cycle 870442.080
#> 2eme cycle 557682.704
#> Enseignement technique ou professionnel court 1669450.914
#> Enseignement technique ou professionnel long 381383.425
#> Enseignement superieur y compris technique superieur 1071009.109
#> <NA> 186172.515
#> sport
#> nivetud Oui
#> N'a jamais fait d'etudes 5160.844
#> A arrete ses etudes, avant la derniere annee d'etudes primaires 45453.405
#> Derniere annee d'etudes primaires 183863.690
#> 1er cycle 256810.118
#> 2eme cycle 414211.036
#> Enseignement technique ou professionnel court 925555.080
#> Enseignement technique ou professionnel long 389509.000
#> Enseignement superieur y compris technique superieur 1504802.345
#> <NA> 631100.483
freqtable(hdv2003, starts_with("trav"))
#> trav.satisf
#> trav.imp Satisfaction Insatisfaction Equilibre <NA>
#> Le plus important 13 4 12 0
#> Aussi important que le reste 141 25 93 0
#> Moins important que le reste 315 65 328 0
#> Peu important 11 23 18 0
#> <NA> 0 0 0 952
# Using survey design objects
library(survey)
#> Loading required package: grid
#> Loading required package: Matrix
#> Loading required package: survival
#>
#> Attaching package: ‘survey’
#> The following object is masked from ‘package:graphics’:
#>
#> dotchart
hdv2003_wtd <- svydesign(ids=~1, weights=~poids, data=hdv2003)
freqtable(hdv2003_wtd, nivetud, sport)
#> sport
#> nivetud Non
#> N'a jamais fait d'etudes 105451.364
#> A arrete ses etudes, avant la derniere annee d'etudes primaires 414954.912
#> Derniere annee d'etudes primaires 1458213.314
#> 1er cycle 870442.080
#> 2eme cycle 557682.704
#> Enseignement technique ou professionnel court 1669450.914
#> Enseignement technique ou professionnel long 381383.425
#> Enseignement superieur y compris technique superieur 1071009.109
#> <NA> 186172.515
#> sport
#> nivetud Oui
#> N'a jamais fait d'etudes 5160.844
#> A arrete ses etudes, avant la derniere annee d'etudes primaires 45453.405
#> Derniere annee d'etudes primaires 183863.690
#> 1er cycle 256810.118
#> 2eme cycle 414211.036
#> Enseignement technique ou professionnel court 925555.080
#> Enseignement technique ou professionnel long 389509.000
#> Enseignement superieur y compris technique superieur 1504802.345
#> <NA> 631100.483
# Compute percentages based on frequencies
hdv2003 |> freqtable(sport) |> freq()
#> n % val%
#> Non 1277 63.8 63.8
#> Oui 723 36.1 36.1
hdv2003 |> freqtable(sport, sexe) |> prop()
#> sexe
#> sport Homme Femme Total
#> Non 26.5 37.4 63.9
#> Oui 18.4 17.7 36.1
#> Total 45.0 55.0 100.0
hdv2003 |> freqtable(sport, sexe) |> cprop()
#> sexe
#> sport Homme Femme All
#> Non 59.0 67.8 63.8
#> Oui 41.0 32.2 36.1
#> Total 100.0 100.0 100.0