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.66667
Instead 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