Skip to content

Commit 7145955

Browse files
committed
use frev and setrev internally
1 parent d2dc90f commit 7145955

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

R/as.data.table.R

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ as.data.table.table = function(x, keep.rownames=FALSE, key=NULL, ...) {
3636
# prevent #4179 & just cut out here
3737
if (any(dim(x) == 0L)) return(null.data.table())
3838
# Fix for bug #43 - order of columns are different when doing as.data.table(with(DT, table(x, y)))
39-
val = rev(dimnames(provideDimnames(x)))
39+
val = frev(dimnames(provideDimnames(x)))
4040
if (is.null(names(val)) || !any(nzchar(names(val))))
41-
setattr(val, 'names', paste0("V", rev(seq_along(val))))
41+
setattr(val, 'names', paste0("V", frev(seq_along(val))))
4242
ans = data.table(do.call(CJ, c(val, sorted=FALSE)), N = as.vector(x), key=key)
43-
setcolorder(ans, c(rev(head(names(ans), -1L)), "N"))
43+
setcolorder(ans, c(frev(head(names(ans), -1L)), "N"))
4444
ans
4545
}
4646

@@ -101,18 +101,18 @@ as.data.table.array = function(x, keep.rownames=FALSE, key=NULL, sorted=TRUE, va
101101
dnx[nulldnx] = lapply(dx[nulldnx], seq_len) #3636
102102
dnx
103103
} else dnx
104-
val = rev(val)
104+
setrev(val)
105105
if (is.null(names(val)) || !any(nzchar(names(val))))
106-
setattr(val, 'names', paste0("V", rev(seq_along(val))))
106+
setattr(val, 'names', paste0("V", frev(seq_along(val))))
107107
if (value.name %chin% names(val))
108-
stopf("Argument 'value.name' should not overlap with column names in result: %s", brackify(rev(names(val))))
108+
stopf("Argument 'value.name' should not overlap with column names in result: %s", brackify(frev(names(val))))
109109
N = NULL
110110
ans = do.call(CJ, c(val, sorted=FALSE))
111111
set(ans, j="N", value=as.vector(x))
112112
if (isTRUE(na.rm))
113113
ans = ans[!is.na(N)]
114114
setnames(ans, "N", value.name)
115-
dims = rev(head(names(ans), -1L))
115+
dims = frev(head(names(ans), -1L))
116116
setcolorder(ans, c(dims, value.name))
117117
if (isTRUE(sorted) && is.null(key)) key = dims
118118
setkeyv(ans, key)

R/bmerge.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ bmerge = function(i, x, icols, xcols, roll, rollends, nomatch, mult, ops, verbos
110110
}
111111
if (x_merge_type=="integer64" || i_merge_type=="integer64") {
112112
nm = c(iname, xname)
113-
if (x_merge_type=="integer64") { w=i; wc=icol; wclass=i_merge_type; } else { w=x; wc=xcol; wclass=x_merge_type; nm=rev(nm) } # w is which to coerce
113+
if (x_merge_type=="integer64") { w=i; wc=icol; wclass=i_merge_type; } else { w=x; wc=xcol; wclass=x_merge_type; setrev(nm) } # w is which to coerce
114114
if (wclass=="integer" || (wclass=="double" && fitsInInt64(w[[wc]]))) {
115115
from_detail = if (wclass == "double") gettext(" (which has integer64 representation, e.g. no fractions)") else ""
116116
coerce_col(w, wc, wclass, "integer64", nm[1L], nm[2L], from_detail, verbose=verbose)

R/utils.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ which.last = function(x)
8686
if (!is.logical(x)) {
8787
stopf("x not boolean")
8888
}
89-
length(x) - match(TRUE, rev(x)) + 1L
89+
length(x) - match(TRUE, frev(x)) + 1L
9090
}
9191

9292
require_bit64_if_needed = function(DT) {
@@ -226,7 +226,7 @@ fctr = function(x, levels=unique(x), ..., sort=FALSE, rev=FALSE) {
226226
if (!isTRUEorFALSE(rev))
227227
stopf("argument 'rev' must be TRUE or FALSE")
228228
if (sort) levels = sort(levels)
229-
if (rev) levels = rev(levels)
229+
if (rev) setrev(levels)
230230
factor(x, levels=levels, ...)
231231
}
232232

0 commit comments

Comments
 (0)