View source: R/SuppressFewContributors.R
SuppressFewContributors | R Documentation |
This function provides functionality for suppressing volume tables based on
the few contributors rule (NContributorsRule
).
SuppressFewContributors(
data,
maxN,
numVar = NULL,
dimVar = NULL,
hierarchies = NULL,
formula = NULL,
contributorVar = NULL,
removeCodes = character(0),
remove0 = TRUE,
candidatesVar = NULL,
...,
spec = PackageSpecs("fewContributorsSpec")
)
data |
Input data as a data frame |
maxN |
Suppression parameter. Cells with frequency |
numVar |
Numerical variable to be aggregated.
Any |
dimVar |
The main dimensional variables and additional aggregating variables. This parameter can be useful when hierarchies and formula are unspecified. |
hierarchies |
List of hierarchies, which can be converted by |
formula |
A model formula |
contributorVar |
Extra variables to be used as grouping elements when counting contributors. Typically, the variable contains the contributor IDs. |
removeCodes |
Vector of codes to be omitted when counting contributors.
With empty |
remove0 |
When set to |
candidatesVar |
Variable to be used in the candidate function to prioritize cells for
publication and thus not suppression.
The first |
... |
Further arguments to be passed to the supplied functions and to |
spec |
|
data.frame containing aggregated data and supppression information.
Columns nRule
and nAll
contain the number of contributors.
In the former, removeCodes
is taken into account.
num <- c(100,
90, 10,
80, 20,
70, 30,
50, 25, 25,
40, 20, 20, 20,
25, 25, 25, 25)
v1 <- c("v1",
rep(c("v2", "v3", "v4"), each = 2),
rep("v5", 3),
rep(c("v6", "v7"), each = 4))
sweight <- c(1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1)
d <- data.frame(v1 = v1, num = num, sweight = sweight)
SuppressFewContributors(d, formula = ~v1, maxN = 1, numVar = "num")
SuppressFewContributors(d, formula = ~v1, maxN = 2, numVar = "num")
SuppressFewContributors(d, formula = ~v1, maxN = 3, numVar = "num")
d2 <- SSBtoolsData("d2")[-5]
set.seed(123)
d2$v <- round(rnorm(nrow(d2))^2, 1)
d2$family_id <- round(2*as.integer(factor(d2$region)) + runif(nrow(d2)))
# Hierarchical region variables are detected automatically -> same output column
SuppressFewContributors(data = d2, maxN = 2, numVar = "v", contributorVar = "family_id",
dimVar = c("region", "county", "k_group"))
# Formula. Hierarchical variables still detected automatically.
# And codes 1:9 not counted
SuppressFewContributors(data = d2, maxN = 1, numVar = "v", contributorVar = "family_id",
formula = ~main_income * k_group + region + county - k_group,
removeCodes = 1:9)
# With hierarchies created manually
ml <- data.frame(levels = c("@", "@@", "@@@", "@@@", "@@@", "@@"),
codes = c("Total", "not_assistance", "other", "pensions", "wages", "assistance"))
SuppressFewContributors(data = d2, maxN = 2, numVar = "v", contributorVar = "family_id",
hierarchies = list(main_income = ml, k_group = "Total_Norway"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.