setDF {data.table} | R Documentation |
Coerce a data.table to data.frame by reference
Description
In data.table
parlance, all set*
functions change their input by reference. That is, no copy is made at all, other than temporary working memory, which is as large as one column. The only other data.table
operator that modifies input by reference is :=
. Check out the See Also
section below for other set*
function data.table
provides.
A helper function to convert a data.table
or list
of equal length to data.frame
by reference.
Usage
setDF(x, rownames=NULL)
Arguments
x |
A |
rownames |
A |
Details
All data.table
attributes including any keys and indices of the input data.table are stripped off.
When using rownames
, recall that the row names of a data.frame
must be unique. By default, the assigned set of row names is simply the sequence 1, ..., nrow(x)
(or length(x)
for list
s).
Value
The input data.table
is modified by reference to a data.frame
and returned (invisibly). If you require a copy, take a copy first (using DT2 = copy(DT)
). See ?copy
.
See Also
data.table
, as.data.table
, setDT
, copy
, setkey
, setcolorder
, setattr
, setnames
, set
, :=
, setorder
Examples
X = data.table(x=1:5, y=6:10)
## convert 'X' to data.frame, without any copy.
setDF(X)
X = data.table(x=1:5, y=6:10)
## idem, assigning row names
setDF(X, rownames = LETTERS[1:5])
X = list(x=1:5, y=6:10)
# X is converted to a data.frame without any copy.
setDF(X)