Computes frequency counts, proportions, and percentages for
every column in a data frame. All columns are processed together and the
results are stacked into a single long-format table. Missing values are
excluded from the frequency counts via table(). Results can be
exported to an Excel file.
Value
A data frame in long format with one row per observed level per variable, containing the following columns:
- variable
Name of the column from
df.- Observation
Observed level (category label).
- Frequency
Count of observations at that level.
- Proportion
Relative frequency (Frequency / total for that variable).
- Percent
Proportion multiplied by 100.
Examples
df = generate_missing(generate_factor(nrows = 10, ncols = 10), missing = 5)
compute_frequencies(df = df)
#> variable Observation Frequency Proportion Percent
#> 1 X1 B 3 0.6 60
#> 2 X1 A 1 0.2 20
#> 3 X1 C 1 0.2 20
#> 4 X1 D 0 0.0 0
#> 5 X1 E 0 0.0 0
#> 6 X2 D 2 0.4 40
#> 7 X2 A 1 0.2 20
#> 8 X2 B 1 0.2 20
#> 9 X2 E 1 0.2 20
#> 10 X2 C 0 0.0 0
#> 11 X3 D 2 0.4 40
#> 12 X3 A 1 0.2 20
#> 13 X3 B 1 0.2 20
#> 14 X3 C 1 0.2 20
#> 15 X3 E 0 0.0 0
#> 16 X4 C 2 0.4 40
#> 17 X4 E 2 0.4 40
#> 18 X4 B 1 0.2 20
#> 19 X4 A 0 0.0 0
#> 20 X4 D 0 0.0 0
#> 21 X5 A 4 0.8 80
#> 22 X5 E 1 0.2 20
#> 23 X5 B 0 0.0 0
#> 24 X5 C 0 0.0 0
#> 25 X5 D 0 0.0 0
#> 26 X6 E 3 0.6 60
#> 27 X6 C 1 0.2 20
#> 28 X6 D 1 0.2 20
#> 29 X6 A 0 0.0 0
#> 30 X6 B 0 0.0 0
#> 31 X7 C 2 0.4 40
#> 32 X7 A 1 0.2 20
#> 33 X7 D 1 0.2 20
#> 34 X7 E 1 0.2 20
#> 35 X7 B 0 0.0 0
#> 36 X8 B 3 0.6 60
#> 37 X8 A 1 0.2 20
#> 38 X8 E 1 0.2 20
#> 39 X8 C 0 0.0 0
#> 40 X8 D 0 0.0 0
#> 41 X9 B 2 0.4 40
#> 42 X9 E 2 0.4 40
#> 43 X9 A 1 0.2 20
#> 44 X9 C 0 0.0 0
#> 45 X9 D 0 0.0 0
#> 46 X10 A 1 0.2 20
#> 47 X10 B 1 0.2 20
#> 48 X10 C 1 0.2 20
#> 49 X10 D 1 0.2 20
#> 50 X10 E 1 0.2 20
compute_frequencies(df = generate_factor())
#> variable Observation Frequency Proportion Percent
#> 1 X1 C 2 1.0 100
#> 2 X1 A 0 0.0 0
#> 3 X1 B 0 0.0 0
#> 4 X1 D 0 0.0 0
#> 5 X1 E 0 0.0 0
#> 6 X2 D 1 0.5 50
#> 7 X2 E 1 0.5 50
#> 8 X2 A 0 0.0 0
#> 9 X2 B 0 0.0 0
#> 10 X2 C 0 0.0 0
#> 11 X3 B 1 0.5 50
#> 12 X3 E 1 0.5 50
#> 13 X3 A 0 0.0 0
#> 14 X3 C 0 0.0 0
#> 15 X3 D 0 0.0 0
#> 16 X4 E 2 1.0 100
#> 17 X4 A 0 0.0 0
#> 18 X4 B 0 0.0 0
#> 19 X4 C 0 0.0 0
#> 20 X4 D 0 0.0 0
#> 21 X5 B 1 0.5 50
#> 22 X5 C 1 0.5 50
#> 23 X5 A 0 0.0 0
#> 24 X5 D 0 0.0 0
#> 25 X5 E 0 0.0 0
#> 26 X6 B 1 0.5 50
#> 27 X6 D 1 0.5 50
#> 28 X6 A 0 0.0 0
#> 29 X6 C 0 0.0 0
#> 30 X6 E 0 0.0 0
#> 31 X7 C 1 0.5 50
#> 32 X7 E 1 0.5 50
#> 33 X7 A 0 0.0 0
#> 34 X7 B 0 0.0 0
#> 35 X7 D 0 0.0 0
#> 36 X8 A 1 0.5 50
#> 37 X8 E 1 0.5 50
#> 38 X8 B 0 0.0 0
#> 39 X8 C 0 0.0 0
#> 40 X8 D 0 0.0 0
#> 41 X9 A 1 0.5 50
#> 42 X9 B 1 0.5 50
#> 43 X9 C 0 0.0 0
#> 44 X9 D 0 0.0 0
#> 45 X9 E 0 0.0 0
#> 46 X10 A 1 0.5 50
#> 47 X10 C 1 0.5 50
#> 48 X10 B 0 0.0 0
#> 49 X10 D 0 0.0 0
#> 50 X10 E 0 0.0 0
compute_frequencies(df = generate_factor(), file = "descriptives")
#> variable Observation Frequency Proportion Percent
#> 1 X1 A 1 0.5 50
#> 2 X1 D 1 0.5 50
#> 3 X1 B 0 0.0 0
#> 4 X1 C 0 0.0 0
#> 5 X1 E 0 0.0 0
#> 6 X2 B 1 0.5 50
#> 7 X2 E 1 0.5 50
#> 8 X2 A 0 0.0 0
#> 9 X2 C 0 0.0 0
#> 10 X2 D 0 0.0 0
#> 11 X3 B 1 0.5 50
#> 12 X3 C 1 0.5 50
#> 13 X3 A 0 0.0 0
#> 14 X3 D 0 0.0 0
#> 15 X3 E 0 0.0 0
#> 16 X4 D 2 1.0 100
#> 17 X4 A 0 0.0 0
#> 18 X4 B 0 0.0 0
#> 19 X4 C 0 0.0 0
#> 20 X4 E 0 0.0 0
#> 21 X5 A 1 0.5 50
#> 22 X5 C 1 0.5 50
#> 23 X5 B 0 0.0 0
#> 24 X5 D 0 0.0 0
#> 25 X5 E 0 0.0 0
#> 26 X6 D 2 1.0 100
#> 27 X6 A 0 0.0 0
#> 28 X6 B 0 0.0 0
#> 29 X6 C 0 0.0 0
#> 30 X6 E 0 0.0 0
#> 31 X7 A 1 0.5 50
#> 32 X7 E 1 0.5 50
#> 33 X7 B 0 0.0 0
#> 34 X7 C 0 0.0 0
#> 35 X7 D 0 0.0 0
#> 36 X8 A 1 0.5 50
#> 37 X8 D 1 0.5 50
#> 38 X8 B 0 0.0 0
#> 39 X8 C 0 0.0 0
#> 40 X8 E 0 0.0 0
#> 41 X9 E 2 1.0 100
#> 42 X9 A 0 0.0 0
#> 43 X9 B 0 0.0 0
#> 44 X9 C 0 0.0 0
#> 45 X9 D 0 0.0 0
#> 46 X10 A 1 0.5 50
#> 47 X10 E 1 0.5 50
#> 48 X10 B 0 0.0 0
#> 49 X10 C 0 0.0 0
#> 50 X10 D 0 0.0 0