【发布时间】:2021-03-24 02:36:28
【问题描述】:
所以我有两个 data.tables。
size_categories = data.table(category = c("S", "M", "L"), size_min = c(0, 10, 25),
size_max = c(10, 25, Inf), bin = c("blue", "red", "green"))
products = data.table(object_id = 1:10, size = seq(1, 37, 4))
我想合并表格,以便根据其大小为产品表的每一行分配一个 bin 和大小类别。
我知道的笨拙的方法是为产品的每一行分配一个类别,然后合并
products[size >= 0 & size < 10, category := "S"]
products[size >= 10 & size < 25, category := "M"]
products[size >= 25, category := "L"]
merge(products, size_categories)
当然,这根本不灵活,如果 size_categories 发生变化,我将不得不重写它。
我愿意使用其他包,但更喜欢仅使用 data.table 的解决方案。
谢谢!
【问题讨论】:
标签: r join merge data.table data-manipulation