在什么情况下我需要使用R的data.table中的`copy`?

时间:2019-03-31 21:42:28

标签: r data.table

R的data.table包在存储列名称的向量时表现出 operations by reference 行为:

STDOUT_FILENO

我没想到对象> library(data.table) > dt <- data.table(x=1,y=2) > vars <- names(dt) > vars [1] "x" "y" > dt[, z:=3] > vars [1] "x" "y" "z" 会像这样“更新”(包含稍后创建的vars中的列名)。如果我使用dt,它不会更新,就好像存储列名是通过引用操作一样,类似于复制整个data.table。

vars <- copy(names(dt))这样的其他函数不会像这样“更新”。

我的问题是:什么时候需要使用nrow(),什么时候不需要?我原本以为它仅用于复制整个data.tables,但这使我想知道还需要其他什么地方。

0 个答案:

没有答案