Search code examples
rvectoruniqueindices

Get indexes of unique values in a vector


I have a vector like this.

filenames <- c("kisyu2_mst.csv", "kisyu3_mst.csv", "kisyu2_mst.csv",
               "kisyu3_mst.csv", "kisyu3_mst.csv")

I need to get indices from filenames vector for each unique value.output look like this

for "kisyu2_mst.csv" indices vector c(1,3)
for "kisyu3_mst.csv" indices vector c(2,4,5)

Finally, I need to insert it to a list like this:

final <- list("kisyu2_mst.csv" = c(1,3), "kisyu3_mst.csv"=c(2,4,5))

How to get the indices of unique value from the vector?


Solution

  • We can use split

    split(seq_along(filenames), filenames)
    
    #$kisyu2_mst.csv
    #[1] 1 3
    
    #$kisyu3_mst.csv
    #[1] 2 4 5