使用列表中的值

Sav*_*SUS 1 r

我有一个包含3个向量的列表.

mylist <- list( a = c(1,2),
                b = c(3,4),
                c = c(5,6) )
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法,例如,使用sum()函数对三个对象的第一个值执行计算?

我尝试过很多东西:

sum(mylist[c(a, b, c)][1])
Run Code Online (Sandbox Code Playgroud)

这行代码不起作用,但它可以让我深入了解我想要做的事情.

谢谢你的帮助.

Ric*_*rta 5

使用 sapply

> sum(sapply(mylist, "[", 1))
[1] 9
Run Code Online (Sandbox Code Playgroud)

奖金有趣的事实:你可以c( )在里面使用[[ ]]:

sum( sapply(seq(mylist), function(i) mylist[[ c(i, 1) ]]) )
Run Code Online (Sandbox Code Playgroud)