Work with labelled data imported from 'SPSS' or 'Stata' with 'haven' or 'foreign'. This package provides useful functions to deal with "haven_labelled" and "haven_labelled_spss" classes introduced by 'haven' package.
This package is built on the new classes haven_labelled
and
haven_labelled_spss
introduced by haven
package to handle labelled
variables imported from SPSS, Stata and SAS. The labelled
package
propose several functions to manipulate such vectors and their metadata:
variable labels, value labels and user-defined missing values.
From CRAN:
install.packages("labelled")
Latest version from GitHub:
devtools::install_github("larmarange/labelled")
Read the vignette at http://larmarange.github.io/labelled/articles/intro_labelled.html
Following version 2.0.0 of haven
, labelled()
and labelled_spss()
now produce objects with class “haven_labelled” and
“haven_labelled_spss”, due to conflict between the previous
“labelled” class and the “labelled” class used by Hmisc
.
A new function update_labelled()
could be used to convert data
imported with an older version of haven
to the new classes.
labelled
metadata structures
only. However, to_labelled
method allows to convert metadata from
foreign and memisc packages.copy_labels_from()
, compliant with dplyr
syntaxupdate_labelled()
is now more strict (#42 by @iago-pssjd)look_for()
and lookfor()
imported from questionr
(#44)unlist
option for var_label()
tagged_na()
and similar functions are now imported from haven
var_label()
, applied to a data.frame, now accepts a character
vector of same length as the number of columns.set_variable_labels
has a new .labels
argument.unclass
option in to_factor()
, to be used when strict = TRUE
(#36)haven
version 2.1.0, it is not mandatory anymore to define a value
label before defining a SPSS style missing value. labelled_spss()
, na_values()
and na_range()
have been updated accordingly (#37)to_factor()
bug fix then applied on a data.frame (#33)update_labelled()
bug fix then applied on a data.frame (#31)haven
, labelled()
and labelled_spss()
now
produce objects with class "haven_labelled" and "haven_labelled_spss", due
to conflict between the previous "labelled" class and the "labelled" class
used by Hmisc
.update_labelled()
could be used to convert data imported
with an older version of haven
to the new classes.user_na_to_na
option added to to_factor()
foreign_to_labelled()
now import SPSS missing values (#27)strict
argument added to to_factor()
(#25)remove_attributes()
preserve character vectors (#30)dplyr::recode()
method to be compatible with labelled vectors.copy_labels()
now copy also na_range
and na_values
attributes.remove_attributes()
drop_unused_labels
could now be used with to_factor.data.frame()
to_labelled()
method when applied to a factordata.frame
(#20)haven
na_values()
, na_range()
, set_na_values()
, set_na_values()
,
remove_user_na()
, user_na_to_na()
.remove_labels()
has been updated.set_variable_labels()
, set_value_labels()
, add_value_labels()
and remove_value_labels()
compatible with %>%
.remove_val_labels
and remove_var_label()
.to_character.labelled()
when applied to data frames.to_factor()
, to_character()
and to_labelled.factor()
now preserves variable label.to_factor()
when applied to data frames.haven
, labelled
deosn't support missing values anymore (cf. https://github.com/hadley/haven/commit/4b12ff9d51ddb9e7486966b85e0bcff44992904d)to_character()
(cf. https://github.com/larmarange/labelled/commit/3d32852587bb707d06627e56407eed1c9d5a49de)to_factor()
could now be applied to a data.frame (cf. https://github.com/larmarange/labelled/commit/ce1d750681fe0c9bcd767cb83a8d72ed4c5fc5fb)data.table
is available, labelled attribute are now changed by reference (cf. https://github.com/larmarange/labelled/commit/c8b163f706122844d798e6625779e8a65e5bbf41)zap_labels()
added as a synonym of remove_labels()