-
Notifications
You must be signed in to change notification settings - Fork 1k
x[, .(shift(b)), keyby = a] returns list type (should be int) #5939
Copy link
Copy link
Closed
Description
Upgrading to the latest CRAN version of data.table, expression like x[, .(shift(b)), keyby = a] will return a list type for V1 column, which is unexpected and inconsistent. In previous versions, it always returns <int>.
library(data.table)
x = data.table(a = c(rep(1, 5), rep(2, 5)), b = 1:10)
x[, shift(b), keyby = a]
#> Key: <a>
#> a V1
#> <num> <int>
#> 1: 1 NA
#> 2: 1 1
#> 3: 1 2
#> 4: 1 3
#> 5: 1 4
#> 6: 2 NA
#> 7: 2 6
#> 8: 2 7
#> 9: 2 8
#> 10: 2 9
x[, .(shift(b)), keyby = a]
#> Key: <a>
#> a V1
#> <num> <list> <------------ ### it should be <int> ###
#> 1: 1 NA
#> 2: 1 1
#> 3: 1 2
#> 4: 1 3
#> 5: 1 4
#> 6: 2 NA
#> 7: 2 6
#> 8: 2 7
#> 9: 2 8
#> 10: 2 9
x[, .(shift(b), b), keyby = a]
#> Key: <a>
#> a V1 b
#> <num> <int> <int>
#> 1: 1 NA 1
#> 2: 1 1 2
#> 3: 1 2 3
#> 4: 1 3 4
#> 5: 1 4 5
#> 6: 2 NA 6
#> 7: 2 6 7
#> 8: 2 7 8
#> 9: 2 8 9
#> 10: 2 9 10Created on 2024-02-18 with reprex v2.0.2
Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.3.2 (2023-10-31)
#> os macOS Sonoma 14.0
#> system aarch64, darwin20
#> ui X11
#> language en
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz Asia/Shanghai
#> date 2024-02-18
#> pandoc 3.1.1 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
#> cli 3.6.1 2023-03-23 [1] CRAN (R 4.3.0)
#> data.table * 1.15.0 2024-01-30 [1] CRAN (R 4.3.1)
#> digest 0.6.33 2023-07-07 [1] CRAN (R 4.3.0)
#> evaluate 0.21 2023-05-05 [1] CRAN (R 4.3.0)
#> fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.3.0)
#> fs 1.6.3 2023-07-20 [1] CRAN (R 4.3.0)
#> glue 1.6.2 2022-02-24 [1] CRAN (R 4.3.0)
#> htmltools 0.5.6 2023-08-10 [1] CRAN (R 4.3.0)
#> knitr 1.44 2023-09-11 [1] CRAN (R 4.3.0)
#> lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.3.0)
#> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.3.0)
#> purrr 1.0.2 2023-08-10 [1] CRAN (R 4.3.0)
#> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.3.0)
#> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.3.0)
#> R.oo 1.25.0 2022-06-12 [1] CRAN (R 4.3.0)
#> R.utils 2.12.2 2022-11-11 [1] CRAN (R 4.3.0)
#> reprex 2.0.2 2022-08-17 [1] CRAN (R 4.3.0)
#> rlang 1.1.1 2023-04-28 [1] CRAN (R 4.3.0)
#> rmarkdown 2.24 2023-08-14 [1] CRAN (R 4.3.0)
#> rstudioapi 0.15.0 2023-07-07 [1] CRAN (R 4.3.0)
#> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.3.0)
#> styler 1.10.2 2023-08-29 [1] CRAN (R 4.3.0)
#> vctrs 0.6.3 2023-06-14 [1] CRAN (R 4.3.0)
#> withr 2.5.0 2022-03-03 [1] CRAN (R 4.3.0)
#> xfun 0.40 2023-08-09 [1] CRAN (R 4.3.0)
#> yaml 2.3.7 2023-01-23 [1] CRAN (R 4.3.0)
#>
#> [1] /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library
#>
#> ──────────────────────────────────────────────────────────────────────────────Reactions are currently unavailable