我试图通过引用写入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()
围绕一些被排除的行,并发现书籍保持令人讨厌。