获取向量中唯一值的索引
Get indexes of unique values in a vector
我有一个这样的向量。
filenames <- c("kisyu2_mst.csv", "kisyu3_mst.csv", "kisyu2_mst.csv",
"kisyu3_mst.csv", "kisyu3_mst.csv")
我需要从文件名向量中获取每个唯一的索引 value.output 看起来像这样
for "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
我们可以使用tapply
tapply(seq_along(filenames), filenames, FUN = I)
#$kisyu2_mst.csv
#[1] 1 3
#$kisyu3_mst.csv
#[1] 2 4 5
我有一个这样的向量。
filenames <- c("kisyu2_mst.csv", "kisyu3_mst.csv", "kisyu2_mst.csv",
"kisyu3_mst.csv", "kisyu3_mst.csv")
我需要从文件名向量中获取每个唯一的索引 value.output 看起来像这样
for "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
我们可以使用tapply
tapply(seq_along(filenames), filenames, FUN = I)
#$kisyu2_mst.csv
#[1] 1 3
#$kisyu3_mst.csv
#[1] 2 4 5