我有一个单词矢量
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
来获取类别。还有其他更简单的解决方案吗?
答案 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