haven 2.0.0

Mara Averick

We’re pleased to announce that haven 2.0.0 is now on CRAN. haven enables R to read and write various data formats used by other statistical packages by wrapping the ReadStat C library written by Evan Miller. As always, you can find a detailed account of all the changes in this release in the Changelog.

Breaking changes

The biggest change is that labelled() and labelled_spss() now produce objects with class “haven_labelled” and “haven_labelled_spss”. This resolves a problematic clash with the labelled class defined by Frank Harrell’s Hmisc package.

Given Hmisc has been around much longer than haven (Hmisc’s oldest source archive on CRAN is from 2003), it makes sense that haven should be the one to make the change. This will require some changes to packages that use haven, but shouldn’t affect user code.

x1 <- haven::labelled(c(1, 1, 2), c(Grunt = 1, Sgt = 2),
                      label = "Army status")

class(x1)
#> [1] "haven_labelled"
x2 <- haven::labelled_spss(1:10, c(Good = 1, Bad = 8), na_range = c(9, Inf),
                           label = "Quality rating")

class(x2)
#> [1] "haven_labelled_spss" "haven_labelled"

Minor improvements

labelled() and labelled_spss() now support adding the label attribute to the resulting object (as seen in the code above). The label is a short, human-readable description of the object, and is now also used when printing, and can be easily removed using the new zap_label() function.

x1
#> <Labelled double>: Army status
#> [1] 1 1 2
#> 
#> Labels:
#>  value label
#>      1 Grunt
#>      2   Sgt

zap_labels(x1)
#> [1] 1 1 2
#> attr(,"label")
#> [1] "Army status"
Contents
Upcoming events
Miami, FL
December 16 – 18, 2019
Improve your tool building skills with this small hands-on workshop on a boat. All profits go to support the mission of the field school.
San Francisco, CA
January 27 – 30, 2020
rstudio::conf 2020 covers all things RStudio, including workshops to teach you the tidyverse, and talks to show you the latest and greatest features.