我有这样的向量。
filenames <- c("kisyu2_mst.csv", "kisyu3_mst.csv", "kisyu2_mst.csv" ,"kisyu3_mst.csv", "kisyu3_mst.csv")
现在我需要从文件名向量中获取每个唯一值的索引。输出看起来像这样
用于kisyu2_mst.csv指标向量c(1,3)
用于kisyu3_mst.csv指标向量c(2,4,5)
最后我需要将其插入到这样的列表中。
final <- list("kisyu2_mst.csv" = c(1,3),"kisyu3_mst.csv"=c(2,4,5))
如何从向量中获得唯一值的索引?任何帮助将不胜感激。
我们可以使用split
split(seq_along(filenames), filenames)
#$kisyu2_mst.csv
#[1] 1 3
#$kisyu3_mst.csv
#[1] 2 4 5
我们可以尝试which
:
sapply(unique(filenames), function(i) which(filenames %in% i))
# $kisyu2_mst.csv
# [1] 1 3
#
# $kisyu3_mst.csv
# [1] 2 4 5