获得R中向量中唯一值的索引

问题描述 投票:1回答: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个回答
2
投票

我们可以使用split

split(seq_along(filenames), filenames)

#$kisyu2_mst.csv
#[1] 1 3

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

1
投票

我们可以尝试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.