Skip to content

Commit bf0db0c

Browse files
update changes
1 parent 0269583 commit bf0db0c

File tree

3 files changed

+12
-17
lines changed

3 files changed

+12
-17
lines changed

R/as.data.table.R

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -241,15 +241,15 @@ as.data.table.data.frame = function(x, keep.rownames=FALSE, key=NULL, ...) {
241241
# fix for #1078 and #1128, see .resetclass() for explanation.
242242
setattr(ans, "class", .resetclass(x, "data.frame"))
243243
setalloccol(ans)
244-
if (!is.null(key)) setkeyv(ans, key)
244+
setkeyv(ans, key)
245245
ans
246246
}
247247

248-
as.data.table.data.table = function(x, ...) {
249-
key = list(...)$key
248+
as.data.table.data.table = function(x, keep.rownames, key, ...) {
249+
if (missing(key)) key = NULL
250250
# as.data.table always returns a copy, automatically takes care of #473
251251
if (any(cols_with_dims(x))) { # for test 2089.2
252-
return(as.data.table.list(x, ...))
252+
return(as.data.table.list(x, key = key, ...))
253253
}
254254
x = copy(x) # #1681
255255
# fix for #1078 and #1128, see .resetclass() for explanation.

inst/tests/tests.Rraw

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21087,20 +21087,15 @@ test(2308.02, fread("date\nNA\n2014-12-05", keepLeadingZeros=FALSE), dt)
2108721087

2108821088
# Test that as.data.table.data.table preserves key when explicitly specified but not when omitted
2108921089
# data.frame to data.table with key
21090-
test(2309.01, {
21091-
key(as.data.table(data.frame(t = c(3:1, 4:5), y = 1:5), key="t"))
21092-
}, "t")
21090+
DF = data.frame(t = c(3:1, 4:5), y = 1:5)
21091+
test(2309.01, key(as.data.table(DF, key="t")), "t")
2109321092
# tibble to data.table with key
2109421093
DF <- data.frame(t = c(3:1, 4:5), y = 1:5)
2109521094
class(DF) <- c("tbl_df", "tbl", "data.frame")
21096-
test(2309.02, {
21097-
key(as.data.table(DF, key="t"))
21098-
}, "t")
21095+
test(2309.02, key(as.data.table(DF, key="t")), "t")
2109921096
# data.table to data.table with key
21100-
test(2309.03, {
21101-
key(as.data.table(data.table(t = c(3:1, 4:5), y = 1:5), key="t"))
21102-
}, "t")
21097+
DT = data.table(t = c(3:1, 4:5), y = 1:5)
21098+
test(2309.03, key(as.data.table(DT, key="t")), "t")
2110321099
# data.table to data.table without key
21104-
test(2309.04, {
21105-
key(as.data.table(data.table(t = c(3:1, 4:5), key="t")))
21106-
}, NULL)
21100+
DT = data.table(t = c(3:1, 4:5), key="t")
21101+
test(2309.04, key(as.data.table(DT)), NULL)

man/as.data.table.Rd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Functions to check if an object is \code{data.table}, or coerce it if possible.
2121
\usage{
2222
as.data.table(x, keep.rownames=FALSE, \dots)
2323

24-
\method{as.data.table}{data.table}(x, \dots)
24+
\method{as.data.table}{data.table}(x, keep.rownames, key, \dots)
2525

2626
\method{as.data.table}{array}(x, keep.rownames=FALSE, key=NULL, sorted=TRUE,
2727
value.name="value", na.rm=TRUE, \dots)

0 commit comments

Comments
 (0)