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
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,9 @@
70
70
71
71
14. `data.table()` function is now more aligned with `data.frame()` with respect to the names of the output when one of its inputs is a single-column matrix object, [#4124](https://github.com/Rdatatable/data.table/issues/4124). Thanks @PavoDive for the report and @jangorecki for the PR.
72
72
73
-
15. Fixed incorrect sorting of merges where the first column of a key is a factor with non-`sort()`-ed levels (e.g. `factor(1:2, 2:1)` and it is joined to a character column, [#5361](https://github.com/Rdatatable/data.table/issues/5361). Thanks to @gbrunick for the report and Benjamin Schwendinger for the fix.
73
+
15. Including an `ITime` object as a named input to `data.frame()` respects the provided name, i.e. `data.frame(a = as.ITime(...))` will have column `a`, [#4673](https://github.com/Rdatatable/data.table/issues/4673). Thanks @shrektan for the report and @MichaelChirico for the fix.
74
+
75
+
16. Fixed incorrect sorting of merges where the first column of a key is a factor with non-`sort()`-ed levels (e.g. `factor(1:2, 2:1)` and it is joined to a character column, [#5361](https://github.com/Rdatatable/data.table/issues/5361). Thanks to @gbrunick for the report and Benjamin Schwendinger for the fix.
if (strcmp(CHAR(STRING_ELT(rollarg,0)),"nearest") !=0) error(_("roll is character but not 'nearest'"));
79
-
if (ncol>0&&TYPEOF(VECTOR_ELT(idt, icols[ncol-1]-1))==STRSXP) error(_("roll='nearest' can't be applied to a character column, yet."));
84
+
if (strcmp(CHAR(STRING_ELT(rollarg, 0)), "nearest") !=0)
85
+
internal_error(__func__, "roll is character but not 'nearest'"); // # nocov. Only [.data.table exposes roll= directly, and this is already checked there.
86
+
if (ncol>0&&TYPEOF(VECTOR_ELT(idt, icols[ncol-1]-1))==STRSXP)
87
+
error(_("roll='nearest' can't be applied to a character column, yet."));
80
88
roll=1.0; rollToNearest=TRUE; // the 1.0 here is just any non-0.0, so roll!=0.0 can be used later
81
89
} else {
82
-
if (!isReal(rollarg)) internal_error(__func__, "roll is not character or double"); // # nocov
90
+
if (!isReal(rollarg))
91
+
internal_error(__func__, "roll is not character or double"); // # nocov
83
92
roll=REAL(rollarg)[0]; // more common case (rolling forwards or backwards) or no roll when 0.0
if (!isNumeric(clamp) ||LENGTH(clamp)!=1) error(_("clamp must be a double vector length 1"));
28
+
if (!isNumeric(clamp) ||LENGTH(clamp)!=1)
29
+
error(_("clamp must be a double vector length 1")); // # nocov
26
30
doublelimit=REAL(clamp)[0];
27
-
if (limit<0) error(_("clamp must be positive"));
28
-
if (reslen>limit) error(_("Join results in %d rows; more than %d = nrow(x)+nrow(i). Check for duplicate key values in i each of which join to the same group in x over and over again. If that's ok, try by=.EACHI to run j for each group to avoid the large allocation. If you are sure you wish to proceed, rerun with allow.cartesian=TRUE. Otherwise, please search for this error message in the FAQ, Wiki, Stack Overflow and data.table issue tracker for advice."), reslen, (int)limit);
31
+
if (limit<0)
32
+
error(_("clamp must be positive")); // # nocov
33
+
if (reslen>limit)
34
+
error(_("Join results in %d rows; more than %d = nrow(x)+nrow(i). Check for duplicate key values in i each of which join to the same group in x over and over again. If that's ok, try by=.EACHI to run j for each group to avoid the large allocation. If you are sure you wish to proceed, rerun with allow.cartesian=TRUE. Otherwise, please search for this error message in the FAQ, Wiki, Stack Overflow and data.table issue tracker for advice."), reslen, (int)limit);
0 commit comments