r数据表是否要复制

r数据表是否要复制,r,data.table,R,Data.table,我创建一个主数据表,从中提取较小的表,然后将它们合并到一个新表中。过程是这样的 从其他数据创建主表。称之为dt.master 创建它的副本并进行一些编辑。示例脚本是 dt.1 <- copy(dt.master) dt.1 <- dt.1[ v1 %in% "cat1".] 我知道(并最终记住)把各种解释放在一个地方,用对我有意义的语言来解释,dt.3 dt.2这看起来不必要地复杂——用同样是表名的值填充列。而且,在这种情况下,提供一个具体的示例应该不会有困难;我不知道我为什么选

我创建一个主数据表,从中提取较小的表,然后将它们合并到一个新表中。过程是这样的

  • 从其他数据创建主表。称之为
    dt.master
  • 创建它的副本并进行一些编辑。示例脚本是

    dt.1 <- copy(dt.master)
    dt.1 <- dt.1[ v1 %in% "cat1".]
    

  • 我知道(并最终记住)把各种解释放在一个地方,用对我有意义的语言来解释,
    dt.3


    dt.2这看起来不必要地复杂——用同样是表名的值填充列。而且,在这种情况下,提供一个具体的示例应该不会有困难;我不知道我为什么选择这个。我将试着提供一个具体的例子,我怀疑这可能是相关的:在我构建我的例子之前,我已经试着阅读过了。我无法理解其中的大部分内容,但我不明白它在哪里解释了独特的。。。代码和打印。。。代码。。。。我写了Q和A,这样其他看到同样奇怪行为的人至少会有解决办法。这个答案不值得投赞成票吗?
    
    dt.2 <- dt.3  <- dt.1
    
    dt.2[, v1 := "dt.2"]
    unique(dt.2$v1)
    dt.3[, v1 := "dt.3"]
    unique(dt.2$v1)
    
    dt.master <- data.table(v1 = c("cat1", "cat1", "cat2", "cat","cat2" ), v2 = c(1,2,3,4,5))
    dt.1 <- copy(dt.master)
    dt.1 <- dt.1[v1 %in% "cat1",]
    dt.2 <- dt.3  <- dt.1
    dt.2[, v1 := "xxx"]
    unique(dt.2$v1)
    dt.3[, v1 := "yyy"]
    unique(dt.3$v1)
    print(dt.2)
    
    dt.2 <- dt.3  <- dt.1
    
    dt.2 <- copy(dt.1)
    dt.3 <- copy(dt.1)