相当于选择i。*

时间:2019-07-04 09:08:04

标签: r join data.table

我正在整理我从SQL转换过来的数据表代码。

表x

frontdoor.azurefd.net/webapp1

表y

x <- data.table(a = 1
                ,b = 2); x
#    a b
# 1: 1 2

默认情况下,以下联接返回所有列

y <- data.table(a = 1
                ,c = 3); y
#    a c
# 1: 1 3

其中列a代表表i的值,但以给定格式x[y, on=.(a)] # a b c # 1: 1 2 3 的x命名。

我的问题是是否只能从表i中选择所有列。在SQL中为x[i]。这对我来说是无价的,因为实际上我的表i和x都包含很多列,并且我想直接嵌套在select i.* from...的join子句中,而不在data.table中列出所有表i的列或在单独的行中进行列选择。

谢谢。

1 个答案:

答案 0 :(得分:1)

不确定该解决方案的应用程序或计算效率,但是这样做很简单:

x[y, on = .(a)][, .SD, .SDcols = names(y)]
相关问题