如何在R中的循环中获取索引

yom*_*ome 9 loops r

我有一个字符类型的向量,其中包含所有名称列表.

所以我循环遍历每个名​​称并执行一些操作.这个循环不是基于索引/长度(我想保持这种方式).

但是,如果我想在循环中访问索引值,我该如何获取它.

例如:

names <- c("name1", "name2")

for(name in names){

#do something
print(name)

#here how would I get the index number? like 1, 2 etc?

}
Run Code Online (Sandbox Code Playgroud)

Eli*_*lin 13

你可以做这样的事情,这实际上是获得i值.

names <- c("name1", "name2")
i<-0
for(name in names){
    i<-i+1
    print(i)

}
Run Code Online (Sandbox Code Playgroud)

或者更改循环以使用数字索引

names <- c("name1", "name2")
for(i in 1:length(names)){
    print(i)

}
Run Code Online (Sandbox Code Playgroud)

或者使用该which功能.

names <- c("name1", "name2")
for(name in names){

    print(which(name == names))

}
Run Code Online (Sandbox Code Playgroud)


ste*_*vee 13

对于品种:

names <- c("name1", "name2")
for(i in seq_along(names)){
    print(i)
}
Run Code Online (Sandbox Code Playgroud)

seq_along 是一个快速的原语,和 IMO 稍微甜一点的语法糖。