我有一个包含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)
这行代码不起作用,但它可以让我深入了解我想要做的事情.
谢谢你的帮助.
使用 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)