合并两个data.tables导致data.table中只有一个重复合并因子

时间:2019-04-09 23:26:38

标签: r merge data.table vlookup

我正在将单列dt与辅助表dt合并,最终将其添加到较大的dt中。

我的名为“ full”的data.table是一个宽而长的data.table,我在其中选择“ category_product”列,该列是一系列小吃类别。我将full $ category_product复制到它自己的dt中。

Helper1是一个dt,它列出了零食的每个类别一次,以及零食名称的列和相关的编号。我需要使用这种VLOOKUP样式,以便将每种小吃的名称和编号列在类别下方。

我正在使用的行是这个,它的变化是:

helper_categories = merge(assist1, helper1)

这是我的过程:

assist1 = data.table(full$category_product)
setnames(assist1, old = c('V1'),new = c('category_product'))
assist1[] <- lapply(assist1, as.character)
helper_categories = merge(assist1, helper1)

我的aid1表(超过一百万行,但是)如下:

assist1 = data.table(category_product = 'Salty','Water','Juice, tea and smoothies')

我完整的helper1表如下:

helper1 = data.table(
category_product = c('Sugar candy','Cookies, pastries and cereals','Chocolate based','Salty','Juice, tea and smoothies','Carbonates and energy drinks','Water','Milk based'), 
ph1 = c('sugar_confectionary_incl_gums_1','bakery_and_pastries_1','chocolate_based_9','salty_excl_crisps_4','tea_and_coffee_based_4','unflavoured_carbonates_3','water_(flavoured)_2','milk_and_milk-based_4'),
mh1 = c(2.054545,2.618182,2.172727,2.963636,3.136364,2.390909,3.154545,2.936364))

但是,当我打开helper_categories时得到的结果只是一个带有“碳酸盐和能量饮料”的数据表,其信息一遍又一遍地重复。看起来像这样:

helper_categories = data.table(category_product = rep('Carbonates and energy drinks', 20), ph1 = rep('unflavoured_carbonates_3', 20), mh1 = rep(2.390909, 20)

知道发生了什么或如何解决?我将通用列的类调整为字符,因为我认为可能是这样,但无济于事。

0 个答案:

没有答案