枚举R中的列表

时间:2020-06-05 19:29:00

标签: r

在Python中,您通过以下列表枚举:

l = ['Tom','Billy','Ron']
for c,value in enumerate(l):
    print(c,value)

## Output:
## 0 Tom
## 1 Billy
## 2 Ron

如何在R中做到这一点?我需要获取它在列表中的位置和值的索引。

1 个答案:

答案 0 :(得分:1)

我们可以使用seq_along来命名list,然后使用stack来创建两列的data.frame。在R中,索引从1开始

stack(setNames(l, seq_along(l)))[2:1]
#  ind values
#1   1    Tom
#2   2  Billy
#3   3    Ron

或与enframe

library(tibble)
library(tidyr)
enframe(l) %>%
    unnest(c(value))

或者如果我们只需要print

for(i in seq_along(l)) print(paste(i, l[[i]]))
#[1] "1 Tom"
#[1] "2 Billy"
#[1] "3 Ron"

数据

l <- list('Tom', 'Billy', 'Ron')