如何在R中将文本分组?

时间:2016-06-30 21:15:33

标签: r data.table

我有一个单词矢量

c('Apple','Orange','Apple','Carrot','Onion','Onion') 

我想在

中对它们进行分类
list('fruit' = c('Apple', 'Orange'),
'vegetable' =  c('Carrot','Onion')

我正在寻找的输出是

c('fruit', 'fruit', 'fruit', 'vegetable', 'vegetable', 'vegetable') .

我目前的做法是将每个转化为data.table并使用merge来获取类别。还有其他更简单的解决方案吗?

1 个答案:

答案 0 :(得分:1)

这是一个替代方案

x <- c('Apple','Orange','Apple','Carrot','Onion','Onion') 
lst <- list('fruit' = c('Apple', 'Orange'),
'vegetable' =  c('Carrot','Onion'))
with(stack(lst), ind[match(x, values)])
# [1] fruit     fruit     fruit     vegetable vegetable vegetable