tidyverse / haven

Read SPSS, Stata and SAS files from R
https://haven.tidyverse.org
Other
424 stars 117 forks source link

using `haven::write_xpt` to write a data frame with one column ignores empty rows at the bottom #754

Open ynsec37 opened 5 months ago

ynsec37 commented 5 months ago

The below data frame has 3 rows that the end of 2 rows are NA and "", the output xpt file only keeps the first non missing rows.

whether this case is normal or how to keep all 3 rows

  df <- data.frame(a = c("a", NA, ""))

  df2 <- haven::write_xpt(df, "test.xpt")

  identical(df, df2)
#> [1] TRUE

  df3 <- haven::read_xpt("test.xpt")

  df3
#> # A tibble: 1 × 1
#>   a    
#>   <chr>
#> 1 a

  identical(df, df3)
#> [1] FALSE

Created on 2024-05-15 with reprex v2.1.0