r - R中的data.table就地修改

标签 r data.table deep-copy

考虑一个data.table DT,如下所示。

DT <- iris
setDT(DT)
ad <- address(DT)

DT[, a := NA_integer_]
identical(address(DT), ad)

我正在尝试使用循环在 DT$a 中按顺序插入一些信息。

a1 <- sample(1:1000, 50)
a2 <- sample(1:1000, 50)
a3 <- sample(1:1000, 50)

正如您所看到的,这会导致为以下方法复制DT

DT$a[1:50] <- a1
identical(address(DT), ad)

如何使用data.table来避免复制DT

最佳答案

for (i in 1:3) DT[1:(50*i), a := sample(1:1000, 50)]

或者哪个更有意义:

DT[ , a := sample(1:1000, 150)]

关于r - R中的data.table就地修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30967873/

相关文章:

r - GLMM - R 的 Huber-White 稳健标准误差

r - 如何创建自定义 Shinydashboard 皮肤

r - 根据数据框中的自定义规则计算总和

r - data.table 中的唯一标识符

JavaScript 深度复制包含嵌套对象、数组和函数的数组?

r - 如何识别R中的 "similar"行?

mysql - 对于 Oracle 数据库表上的 R 中的循环错误

r - 如何使用长格式的 R 数据帧的子集进行操作?

python copy.deepcopy 列表看起来很浅

delphi - 有没有一种简单的方法将 TDictionary 内容复制到另一个中?