获得向量中唯一值的索引

问题描述 投票:0回答:2

我有这样的向量。

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))

如何从向量中获得唯一值的索引?

r vector unique indices
2个回答
3
投票

我们可以使用split

split(seq_along(filenames), filenames)

#$kisyu2_mst.csv
#[1] 1 3

#$kisyu3_mst.csv
#[1] 2 4 5

2
投票

我们可以尝试which

sapply(unique(filenames), function(i) which(filenames %in% i))
# $kisyu2_mst.csv
# [1] 1 3
# 
# $kisyu3_mst.csv
# [1] 2 4 5
© www.soinside.com 2019 - 2024. All rights reserved.