通过引用写入某些data.table行

时间:2015-09-24 04:12:10

标签: r data.table

我试图通过引用写入data.table的一部分行,以便处理模型的训练,测试和排除数据行。

但是,当我定义这个行的子集并尝试写入它时,它会在没有警告的情况下中断引用。从概念上讲,我知道这有效:

library('data.table')

a <- data.table(a1=c(0,1), a2=c(2,3))
a
#    a1 a2
# 1:  0  2
# 2:  1  3

b <- a

b[,b1:=4]
b
#    a1 a2 b1
# 1:  0  2  4
# 2:  1  3  4

a
#    a1 a2 b1
# 1:  0  2  4
# 2:  1  3  4

但我想做的是:

a <- data.table(a1=c(0,1), a2=c(2,3))
a
b <- a[1,]
b
#    a1 a2
# 1:  0  2

b[,b1:=4]
b
#    a1 a2 b1
# 1:  0  2  4
a
#    a1 a2
# 1:  0  2
# 2:  1  3

# What I would really like is
#>a
#    a1 a2 b1
# 1:  0  2  4
# 2:  1  3 NA

我很难将此行为与解释here进行协调,这表明使用数据表作业:=不应该像<-那样打破引用。< / p>

我的每一行都有一把钥匙,所以合并分数并不是什么大问题。我只是好奇是否有办法通过它。基本上我试图createDataPartition()围绕一些被排除的行,并发现书籍保持令人讨厌。

0 个答案:

没有答案