sjmisc: Data Transformation and Labelled Data Utility Functions

Collection of miscellaneous utility functions (especially intended for people coming from other statistical software packages like 'SPSS', and/ or who are new to R), supporting following common tasks when working with data : 1) Reading and writing data between R and other statistical software packages like 'SPSS', 'SAS' or 'Stata' and working with labelled data; this includes easy ways to get and set label attributes, to convert labelled vectors into factors (and vice versa), or to deal with multiple declared missing values etc. 2) Data transformation tasks like recoding, dichotomizing or grouping variables, setting and replacing missing values. The data transformation functions also support labelled data, and all integrate seamlessly into a 'tidyverse'-workflow.

Install the latest version of this package by entering the following in R:
AuthorDaniel Lüdecke <>
Date of publication2017-04-07 08:11:21 UTC
MaintainerDaniel Lüdecke <>

View on CRAN

Man pages

add_columns: Add or replace data frame columns

add_labels: Add, replace or remove value labels of variables

as_labelled: Convert vector to labelled class

big_mark: Formats large numbers with big marks

copy_labels: Copy value and variable labels to (subsetted) data frames

count_na: Frequency table of tagged NA values

descr: Basic descriptive statistics

dicho: Dichotomize variables

efc: Sample dataset from the EUROFAMCARE project

empty_cols: Return or remove variables or observations that are...

find_var: Find variable by name or label

flat_table: Flat (proportional) tables

frq: Frequencies of labelled variables

get_label: Retrieve variable label(s) of labelled data

get_labels: Retrieve value labels of labelled data

get_na: Retrieve tagged NA values of labelled variables

get_note: Retrieve notes (annotations) from labelled variables

get_values: Retrieve values of labelled variables

grapes-nin-grapes: Value matching

group_str: Group near elements of string vectors

group_var: Recode numeric variables into equal-ranged groups

is_crossed: Check whether two factors are crossed or nested

is_empty: Check whether string, list or vector is empty

is_even: Check whether value is even or odd

is_labelled: Check whether object is of class "labelled"

is_num_fac: Check whether a factor has numeric levels only

lbl_df: Create a labelled data frame

merge_df: Merge labelled data frames

merge_imputations: Merges multiple imputed data frames into a single data frame

read_spss: Import data from other statistical software packages

rec: Recode variables

recode_to: Recode variable categories into new values

rec_pattern: Create recode pattern for 'rec' function

reexports: Objects exported from other packages

ref_lvl: Change reference level of (numeric) factors

remove_all_labels: Remove value and variable labels from vector or data frame

replace_na: Replace NA with specific values

row_sums: Row sums and means for data frames

set_label: Add variable label(s) to variables

set_labels: Add value labels to variables

set_na: Replace specific values in vector with NA

set_note: Add notes (annotations) to (labelled) variables

sjmisc-package: Data Transformation and Labelled Data Utility Functions

split_var: Split numeric variables into smaller groups

spread_coef: Spread model coefficients of list-variables into columns

std: Standardize and center variables

str_contains: Check if string contains pattern

str_pos: Find partial matching and close distance elements in strings

to_character: Convert variable into character vector and replace values...

to_dummy: Split (categorical) vectors into dummy variables

to_factor: Convert variable into factor and keep value labels

to_label: Convert variable into factor with associated value labels

to_long: Convert wide data to long format

to_value: Convert factors to numeric variables

trim: Trim leading and trailing whitespaces from strings

unlabel: Convert labelled vectors into normal classes

var_rename: Rename variables

word_wrap: Insert line breaks in long labels

write_spss: Write data to other statistical software packages

zap_inf: Convert infiite or NaN values into regular NA

zap_labels: Drop, add or convert (non-)labelled values

zap_na_tags: Convert tagged NA values into regular NA


\%>\% Man page
add_columns Man page
add_labels Man page
as_labelled Man page
big_mark Man page
center Man page
copy_labels Man page
count_na Man page
descr Man page
dicho Man page
drop_labels Man page
efc Man page
empty_cols Man page
empty_rows Man page
fill_labels Man page
find_var Man page
flat_table Man page
frq Man page
get_label Man page
get_labels Man page
get_na Man page
get_note Man page
get_values Man page
group_labels Man page
group_str Man page
group_var Man page
is_crossed Man page
is_empty Man page
is_even Man page
is_labelled Man page
is_nested Man page
is_num_fac Man page
is_odd Man page
lbl_df Man page
merge_df Man page
merge_imputations Man page
\%nin\% Man page
read_sas Man page
read_spss Man page
read_stata Man page
rec Man page
recode_to Man page
rec_pattern Man page
reexports Man page
ref_lvl Man page
remove_all_labels Man page
remove_empty_cols Man page
remove_empty_rows Man page
remove_labels Man page
replace_columns Man page
replace_labels Man page
replace_na Man page
row_means Man page
row_sums Man page
set_label Man page
set_label<- Man page
set_labels Man page
set_na Man page
set_note Man page
set_note<- Man page
sjmisc Man page
sjmisc-package Man page
split_var Man page
spread_coef Man page
std Man page
str_contains Man page
str_pos Man page
to_character Man page
to_dummy Man page
to_factor Man page
to_label Man page
to_long Man page
to_value Man page
trim Man page
unlabel Man page
var_labels Man page
var_rename Man page
word_wrap Man page
write_sas Man page
write_spss Man page
write_stata Man page
zap_inf Man page
zap_labels Man page
zap_na_tags Man page
zap_unlabelled Man page


inst/doc/labelleddata.R inst/doc/exploringdatasets.R
R/S3-methods.R R/add_columns.R R/recode_to.R R/remove_all_labels.R R/row_sums.R R/group_str.R R/is_crossed.R R/to_dummy.R R/count_na.R R/big_mark.R R/frq.R R/to_factor.R R/as_labelled.R R/read_write.R R/notin.R R/merge_df.R R/descr.R R/get_labels.R R/copy_labels.R R/replace_na.R R/var_labels.R R/remove_labels.R R/set_na.R R/is_num_fac.R R/drop_labels.R R/get_na.R R/merge_imputations.R R/is_labelled.R R/str_contains.R R/is_empty.R R/is_even.R R/find_var.R R/get_values.R R/set_labels.R R/get_label.R R/get_note.R R/group_var.R R/rec.R R/helpfunctions.R R/to_value.R R/trim.R R/dicho.R R/std.R R/prop_table.R R/set_label.R R/rec_pattern.R R/efc.R R/str_pos.R R/word_wrap.R R/to_label.R R/unlabel.R R/to_long.R R/zap_labels.R R/ref_lvl.R R/fill_labels.R R/split_var.R R/add_labels.R R/spread_coef.R
man/is_num_fac.Rd man/group_var.Rd man/lbl_df.Rd man/zap_na_tags.Rd man/merge_imputations.Rd man/to_long.Rd man/get_values.Rd man/to_dummy.Rd man/set_note.Rd man/to_character.Rd man/set_na.Rd man/as_labelled.Rd man/set_label.Rd man/sjmisc-package.Rd man/frq.Rd man/group_str.Rd man/std.Rd man/is_crossed.Rd man/flat_table.Rd man/read_spss.Rd man/to_factor.Rd man/get_labels.Rd man/is_empty.Rd man/add_columns.Rd man/is_labelled.Rd man/descr.Rd man/ref_lvl.Rd man/str_contains.Rd man/replace_na.Rd man/word_wrap.Rd man/to_label.Rd man/rec.Rd man/get_note.Rd man/efc.Rd man/big_mark.Rd man/row_sums.Rd man/empty_cols.Rd man/split_var.Rd man/grapes-nin-grapes.Rd man/reexports.Rd man/var_rename.Rd man/merge_df.Rd man/spread_coef.Rd man/str_pos.Rd man/rec_pattern.Rd man/get_na.Rd man/trim.Rd man/find_var.Rd man/zap_labels.Rd man/zap_inf.Rd man/unlabel.Rd man/get_label.Rd man/recode_to.Rd man/count_na.Rd man/write_spss.Rd man/remove_all_labels.Rd man/copy_labels.Rd man/to_value.Rd man/dicho.Rd man/add_labels.Rd man/is_even.Rd man/set_labels.Rd

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.