相关疑难解决方法(0)

data.table join然后将列添加到现有data.frame而不重新复制

我有两个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中?

join copy r reference data.table

19
推荐指数
2
解决办法
4154
查看次数

标签 统计

copy ×1

data.table ×1

join ×1

r ×1

reference ×1