@@ -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 )
0 commit comments