繰り返し文字列の長いリストがあります。これはおもちゃのデータです。
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)
}
ただし、膨大なリストがある場合、それは非常に遅くなります。
これを行うより速い方法はありますか?