我有两个data.tables,X(3米行乘500列)和Y(100行乘两列).
set.seed(1)
X <- data.table( a=letters, b=letters, c=letters, g=sample(c(1:5,7),length(letters),replace=TRUE), key="g" )
Y <- data.table( z=runif(6), g=1:6, key="g" )
Run Code Online (Sandbox Code Playgroud)
我想在X上做一个左外连接,我可以做到Y[X]这一点,感谢:
为什么X [Y]连接data.tables不允许完全外连接或左连接?
但我想在X 不复制的情况下添加新列X(因为它很大).
显然,像X <- Y[X]作品这样的东西,但除非data.table比我给它的功劳更加明确(并且我非常狡猾地给予它赞美!),我相信这复制了整个X.
X[ , z:= Y[X,z]$z ] 虽然工作正常,但却不能很好地扩展到多个列.
如何将合并的结果以有效的方式(在副本方面和程序员时间方面)存储回保留的data.table中?