r - 将位置索引添加到列表

标签 r list

我想将顺序元素添加到列表中。假设我有以下列表

lst <- list("A"=list(e1="a",e2="!"), "B"=list(e1="b", e2="@"))
$A
$A$e1
[1] "a"

$A$e2
[1] "!"

$B
$B$e1
[1] "b"

$B$e2
[1] "@"

我想附加一个 e3,它是该元素在列表中的位置索引,所以基本上我希望我的列表是:

$A
$A$e1
[1] "a"

$A$e2
[1] "!"

$A$e3
[1] 1

$B
$B$e1
[1] "b"

$B$e2
[1] "@"

$B$e3
[1] 2

最佳答案

setNames(lapply(seq_along(lst), function(i){
    temp = lst[[i]]
    temp$e3 = i
    temp
}), names(lst))
#$`A`
#$`A`$`e1`
#[1] "a"

#$`A`$e2
#[1] "!"

#$`A`$e3
#[1] 1


#$B
#$B$`e1`
#[1] "b"

#$B$e2
#[1] "@"

#$B$e3
#[1] 2

关于r - 将位置索引添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55031516/

相关文章:

r - 如何更改 GGally::ggpairs 的调色板?

python - 在 Python 中遍历列表列表中的列

performance - 在 Haskell 中有效计算列表的平均值

list - Flutter 应用中的无限列表

list - Haskell中的子字符串

r - 如何创建行名变量?

r - 广泰达 R : How to remove numbers or symbols "from"/"in" a token?

regex - 当大写字母在R中的单词中间跟随大写字母时拆分字符串

r - diffinv 函数输出不是我想的那样

perl - 如何在 Perl 列表中找到值的数量?