【问题标题】:Adding a column in data.table with looking up a value in another data.table [duplicate]在 data.table 中添加一列并在另一个 data.table 中查找值 [重复]
【发布时间】:2017-03-07 12:14:59
【问题描述】:

我有一个关于根据另一个 data.table 中的信息向 data.table 添加列的问题。

这是我的数据的样子:

dt.1: One column with 1.9 million Product ID's
0771044445
0827229534
0827229534
0738700797
etc.

dt.2: Two columns with 7 million Product ID's + Categories
0842328327  Book
0842328327  Book
1577943082  DVD
Etc.

现在我想在dt.1 中创建一个列,通过在dt.2 中查找该类别来添加该类别。 dt.1 的所有 ID 都在 dt.2 中。

我试过了:

 dt.1[,group := ID %in% dt.2, by = dt.2$category] 

但我收到以下错误:

  Error in `[.data.frame`(dt.amazon.similar, , `:=`(group, asin %in% dt.amazon.reviews),  : unused argument (by = dt.amazon.reviews$group)

【问题讨论】:

  • 尝试先加入他们。

标签: r data.table


【解决方案1】:

您还可以使用快速连接语法对 dt1 进行就地编辑

dt.1[dt.2, on="Product ID", category:=category]

【讨论】:

  • 谢谢,这行得通!
猜你喜欢
  • 1970-01-01
  • 2018-11-25
  • 2021-06-25
  • 2014-04-19
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
  • 2023-04-02
相关资源
最近更新 更多