haven icon indicating copy to clipboard operation
haven copied to clipboard

haven::labelled() clashes on dplyr::if_else() with numeric

Open skolenik opened this issue 1 year ago • 1 comments

I have some code that deals with labeled tagged_na(), and on some occasions this class does not want to play with something as simple as <dbl>, see the screenshot.

The closest I can get to reprex is below although it does not really produce the error I am seeing.

mtcars |> tibble::as_tibble() |> 
   dplyr::mutate(this=haven::labelled(haven::tagged_na("a"), labels=c("A" = haven::tagged_na("a")))) |>
   dplyr::mutate(this=dplyr::if_else(am==1, this, as.numeric(NA)))
> packageVersion("haven")
[1] ‘2.5.4’
> packageVersion("vctrs")
[1] ‘0.6.5’

Image

skolenik avatar Nov 08 '24 22:11 skolenik

I'm not able to reproduce this error.

library(haven)
#> Warning: package 'haven' was built under R version 4.4.2

mtcars |> tibble::as_tibble() |> 
  dplyr::mutate(this=haven::labelled(haven::tagged_na("a"), labels=c("A" = haven::tagged_na("a")))) |>
  dplyr::mutate(this=dplyr::if_else(am==1, this, as.numeric(NA)))
#> # A tibble: 32 × 12
#>      mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb this     
#>    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl+lbl>
#>  1  21       6  160    110  3.9   2.62  16.5     0     1     4     4 NA(a) [A]
#>  2  21       6  160    110  3.9   2.88  17.0     0     1     4     4 NA(a) [A]
#>  3  22.8     4  108     93  3.85  2.32  18.6     1     1     4     1 NA(a) [A]
#>  4  21.4     6  258    110  3.08  3.22  19.4     1     0     3     1    NA    
#>  5  18.7     8  360    175  3.15  3.44  17.0     0     0     3     2    NA    
#>  6  18.1     6  225    105  2.76  3.46  20.2     1     0     3     1    NA    
#>  7  14.3     8  360    245  3.21  3.57  15.8     0     0     3     4    NA    
#>  8  24.4     4  147.    62  3.69  3.19  20       1     0     4     2    NA    
#>  9  22.8     4  141.    95  3.92  3.15  22.9     1     0     4     2    NA    
#> 10  19.2     6  168.   123  3.92  3.44  18.3     1     0     4     4    NA    
#> # ℹ 22 more rows

Created on 2024-12-11 with reprex v2.1.0

Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value
#>  version  R version 4.4.1 (2024-06-14 ucrt)
#>  os       Windows 10 x64 (build 19045)
#>  system   x86_64, mingw32
#>  ui       RTerm
#>  language (EN)
#>  collate  English_United States.utf8
#>  ctype    English_United States.utf8
#>  tz       America/New_York
#>  date     2024-12-11
#>  pandoc   3.2 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package     * version date (UTC) lib source
#>  cli           3.6.3   2024-06-21 [1] CRAN (R 4.4.1)
#>  crayon        1.5.3   2024-06-20 [1] CRAN (R 4.4.1)
#>  digest        0.6.36  2024-06-23 [1] CRAN (R 4.4.1)
#>  dplyr         1.1.4   2023-11-17 [1] CRAN (R 4.4.1)
#>  evaluate      0.24.0  2024-06-10 [1] CRAN (R 4.4.1)
#>  fansi         1.0.6   2023-12-08 [1] CRAN (R 4.4.1)
#>  fastmap       1.2.0   2024-05-15 [1] CRAN (R 4.4.1)
#>  forcats       1.0.0   2023-01-29 [1] CRAN (R 4.4.1)
#>  fs            1.6.4   2024-04-25 [1] CRAN (R 4.4.1)
#>  generics      0.1.3   2022-07-05 [1] CRAN (R 4.4.1)
#>  glue          1.7.0   2024-01-09 [1] CRAN (R 4.4.1)
#>  haven       * 2.5.4   2023-11-30 [1] CRAN (R 4.4.2)
#>  hms           1.1.3   2023-03-21 [1] CRAN (R 4.4.1)
#>  htmltools     0.5.8.1 2024-04-04 [1] CRAN (R 4.4.1)
#>  knitr         1.47    2024-05-29 [1] CRAN (R 4.4.1)
#>  lifecycle     1.0.4   2023-11-07 [1] CRAN (R 4.4.1)
#>  magrittr      2.0.3   2022-03-30 [1] CRAN (R 4.4.1)
#>  pillar        1.9.0   2023-03-22 [1] CRAN (R 4.4.1)
#>  pkgconfig     2.0.3   2019-09-22 [1] CRAN (R 4.4.1)
#>  purrr         1.0.2   2023-08-10 [1] CRAN (R 4.4.1)
#>  R.cache       0.16.0  2022-07-21 [1] CRAN (R 4.4.1)
#>  R.methodsS3   1.8.2   2022-06-13 [1] CRAN (R 4.4.0)
#>  R.oo          1.26.0  2024-01-24 [1] CRAN (R 4.4.0)
#>  R.utils       2.12.3  2023-11-18 [1] CRAN (R 4.4.1)
#>  R6            2.5.1   2021-08-19 [1] CRAN (R 4.4.1)
#>  reprex        2.1.0   2024-01-11 [1] CRAN (R 4.4.1)
#>  rlang         1.1.4   2024-06-04 [1] CRAN (R 4.4.1)
#>  rmarkdown     2.27    2024-05-17 [1] CRAN (R 4.4.1)
#>  rstudioapi    0.16.0  2024-03-24 [1] CRAN (R 4.4.1)
#>  sessioninfo   1.2.2   2021-12-06 [1] CRAN (R 4.4.1)
#>  styler        1.10.3  2024-04-07 [1] CRAN (R 4.4.1)
#>  tibble        3.2.1   2023-03-20 [1] CRAN (R 4.4.1)
#>  tidyselect    1.2.1   2024-03-11 [1] CRAN (R 4.4.1)
#>  utf8          1.2.4   2023-10-22 [1] CRAN (R 4.4.1)
#>  vctrs         0.6.5   2023-12-01 [1] CRAN (R 4.4.1)
#>  withr         3.0.0   2024-01-16 [1] CRAN (R 4.4.1)
#>  xfun          0.45    2024-06-16 [1] CRAN (R 4.4.1)
#>  yaml          2.3.8   2023-12-11 [1] CRAN (R 4.4.0)
#> 
#>  [1] C:/Program Files/R/R-4.4.1/library
#> 
#> ──────────────────────────────────────────────────────────────────────────────

szimmer avatar Dec 11 '24 20:12 szimmer