在表中创建的新列使用R中的data.table出现在另一个表中



假设我有一个名为"dt";。

## Generate a data table
library(data.table)
dt = data.table(A=c(1,2,3),B=c(4,5,6))

我想通过创建新列来测试一些信息,但我不想更改原始表,所以我创建了一个名为"的备份表;测试";。

## Create a backup for the original table "dt"
test = dt

然而,当我创建一个名为";C";,我发现它也出现在原始表格";dt";。

## Create a new column
test[,C:=A+B]
## The new column "C" emerges in the original table "dt"
> colnames(dt)
[1] "A" "B" "C"

这种操作可能很危险,因为它会更改原始表。如何在不更改原始表格的情况下更改测试表格?

使用copy:

library(data.table)
dt = data.table(A=c(1,2,3),B=c(4,5,6))
test <- copy(dt)
test[,C:=A+B]
names(test)
#[1] "A" "B" "C"
names(dt)
#[1] "A" "B"

最新更新