相关疑难解决方法(0)

查找数据框的补充(反连接)

我有两个数据帧(df和df1).df1是df的子集.我想获得一个数据帧,它是df中df1的补码,即返回第一个数据集的行,这些行在第二个数据集中不匹配.比如让,

数据框df:

heads
row1
row2
row3
row4
row5
Run Code Online (Sandbox Code Playgroud)

数据框df1:

heads
row3
row5
Run Code Online (Sandbox Code Playgroud)

然后所需的输出df2是:

heads
row1
row2
row4
Run Code Online (Sandbox Code Playgroud)

merge join r r-faq

29
推荐指数
5
解决办法
2万
查看次数

根据另一个data.table删除data.table中的行

我有一个data.table名字dtA:

我的实际dtA有62871932行和3列:

  date    company    value
198101          A        1
198101          A        2
198101          B        5
198102          A        2
198102          B        5
198102          B        6
Run Code Online (Sandbox Code Playgroud)

data.table dtB有一些我想要删除的列dtA,所以dtB就像规则:

实际dtB有19615280行和3列:

  date    company    value
198101          A        2
198102          B        5
Run Code Online (Sandbox Code Playgroud)

最终结果是:

  date    company    value
198101          A        1
198101          B        5
198102          A        2
198102          B        6
Run Code Online (Sandbox Code Playgroud)

它不是那么简单:

dtA=dtA[!(dtB$company %in% dtA$company)] 
Run Code Online (Sandbox Code Playgroud)

因为它还取决于日期和价值.

我尝试将两个表合并在一起,并将其链接到不在语句中:

dtA=dtA[dtB, on=date][!(company %in% comapny) & !(value %in% value)]
Run Code Online (Sandbox Code Playgroud)

我收到这条消息:

加入超过2 …

r data.table

4
推荐指数
1
解决办法
1177
查看次数

标签 统计

r ×2

data.table ×1

join ×1

merge ×1

r-faq ×1