The goal of declared is to improve the functionality of imported
social science microdata, particularly labelled data. While there are
excellent packages available for these purposes, such as
haven and
labelled, they have some
fundamental design features that run, in some situations, against
users' expectations. This has a lot to do with the treatment of declared
missing values, that are instrumental for the social sciences. The aim
of declared is to offer an alternative class called "declared", whilst
ensuring as much compatibility as possible with these popular packages.
The development version of package declared can be installed using this
command:
install.packages("declared", repos = "dusadrian.r-universe.dev")library(haven)
x1 <- labelled_spss(
x = c(1:5, -91),
labels = c("Missing" = -91),
na_value = -91
)
print(x1)
#> <labelled_spss<double>[6]>
#> [1] 1 2 3 4 5 -91
#> Missing values: -91
#>
#> Labels:
#> value label
#> -91 Missing
mean(x1)
#> [1] -12.66667Instead of using the labelled::labelled() class or its inherited
version in haven, the declared package offers a similar class that
behaves more as it is expected–because it interprets certain “missing”
values NA codes as existing, declared missing values.
library(declared)
x2 <- declared(
x = c(1:5, -91),
labels = c("Missing" = -91),
na_value = -91
)
print(x2)
#> <declared<numeric>[6]>
#> [1] 1 2 3 4 5 NA(-91)
#> Missing values: -91
#>
#> Labels:
#> value label
#> -91 Missing
mean(x2)
#> [1] 3