我有这样的向量。
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