我有一长串重复的字符串 - 这是一些玩具数据,
unique_items <- c('shoes', 'shirt', 'pants', 'socks')
l <- unique_items[sample(1:4, 100000, replace = TRUE)]
我现在想在unique_items中找到每个项目的所有索引。
一个天真的解决方案是:
item_indices <- vector(mode = 'list', length = length(unique_items))
names(item_indices) <- unique_items
for (idx in 1:length(unique_items))
{
item <- unique_items[idx]
item_indices[[item]] <- which(l == item)
}
然而,当我有一个庞大的名单时,这是非常缓慢的。
有更快的方法吗?
答案 0 :(得分:5)
item_indices <- split(seq_along(l), l)