You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: NEWS.md
+16-1Lines changed: 16 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,16 @@
10
10
11
11
### NEW FEATURES
12
12
13
-
1. New `sort_by()` method for data.tables, [#6662](https://github.com/Rdatatable/data.table/issues/6662). It uses `forder()` to improve upon the data.frame method and also match `DT[order(...)]` behavior with respect to locale. Thanks @rikivillalba for the suggestion and PR.
13
+
1. New `sort_by()` method for data.tables, [#6662](https://github.com/Rdatatable/data.table/issues/6662). It uses `forder()` to improve upon the data.frame method and also matches `DT[order(...)]` behavior with respect to locale. Thanks @rikivillalba for the suggestion and PR.
14
+
15
+
```r
16
+
DT= data.table(a=c(1L, 2L, 1L), b=c(3L, 1L, 2L))
17
+
sort_by(DT, ~a+b)
18
+
# a b
19
+
# 1: 1 2
20
+
# 2: 1 3
21
+
# 3: 2 1
22
+
```
14
23
15
24
2.`melt()`nowsupportsusing`patterns()`with`id.vars`, [#6867](https://github.com/Rdatatable/data.table/issues/6867). Thanks to Toby Dylan Hocking for the suggestion and PR.
16
25
@@ -56,6 +65,10 @@
56
65
57
66
13.New`mergelist()`and`setmergelist()`similarlywork_ala_`Reduce()`torecursivelymergea`list`ofdata.tables, [#599](https://github.com/Rdatatable/data.table/issues/599). Different join modes (_left_, _inner_, _full_, _right_, _semi_, _anti_, and _cross_) are supported through the `how` argument; duplicate handling goes through the `mult` argument. `setmergelist()` carefully avoids copies where one is not needed, e.g. in a 1:1 left join. Thanks Patrick Nicholson for the FR (in 2013!), @jangorecki for the PR, and @MichaelChirico for extensive reviews and fine-tuning.
58
67
68
+
14.`fcoalesce()`and`setcoalesce()`gain`nan`argumenttocontrolwhether`NaN`valuesshouldbetreatedas missing (`nan=NA`, thedefault) ornon-missing (`nan=NaN`), [#4567](https://github.com/Rdatatable/data.table/issues/4567). This provides full compatibility with `nafill()` behavior. Thanks to @ethanbsmith for the feature request and @Mukulyadav2004 for the implementation.
69
+
70
+
15.Newfunction`isoyear()`hasbeenimplementedasacomplementto`isoweek()`, returningtheISO8601yearcorrespondingtoagivendate, [#7154](https://github.com/Rdatatable/data.table/issues/7154). Thanks to @ben-schwen and @MichaelChirico for the suggestion and @venom1204 for the implementation.
71
+
59
72
### BUG FIXES
60
73
61
74
1.`fread()`nolongerwarnsoncertainsystemsonR4.5.0+wherethefileownercan't be resolved, [#6918](https://github.com/Rdatatable/data.table/issues/6918). Thanks @ProfFancyPants for the report and PR.
@@ -86,6 +99,8 @@
86
99
87
100
14. Filling columns of class Date with POSIXct (and vice versa) using `shift()` now yields a clear, informative error message specifying the class mismatch, [#5218](https://github.com/Rdatatable/data.table/issues/5218). Thanks @ashbaldry for the report and @ben-schwen for the fix.
88
101
102
+
15. `split.data.table()` output list elements retain the S3 class of the generating data.table, e.g. in `l=split(x, ...)` if `x` has class `my_class`, so will `l[[1]]` and so on, [#7105](https://github.com/Rdatatable/data.table/issues/7105). Thanks @m-muecke for the bug report and @MichaelChirico for the fix.
103
+
89
104
### NOTES
90
105
91
106
1. The following in-progress deprecations have proceeded:
test(1984.26, setalloccol(`*tmp*`), error='setalloccol attempting to modify `*tmp*`')
14278
14285
DF = as.data.frame(DT)
14279
14286
test(1984.27, identical(shallow(DF), DF)) # shallow (which is not exported) works on DF from v1.14.2. identical() to force checking the selfref attribute for #5286.
14280
-
test(1984.28, split.data.table(DF), error='argument must be a data.table')
14287
+
# 1984.28 was a coverage test converted to 'nocov' of an internal_error instead
14281
14288
test(1984.29, split(DT, by='a', f='a'), error="passing 'f' argument together with 'by' is not allowed")
14282
14289
test(1984.30, split(DT), error="Either 'by' or 'f' argument must be supplied")
\item{nan}{ Either \code{NaN} or \code{NA}; if \code{NaN}, then \code{NaN} istreatedasdistinctfrom \code{NA}, otherwisetheyaretreatedthesameduring replacement (doublecolumnsonly). }
0 commit comments