1

3 つのベクトルを含むリストがあります。

mylist <- list( a = c(1,2),
                b = c(3,4),
                c = c(5,6) )

たとえば、sum()関数を使用して 3 つのオブジェクトの最初の値を計算する簡単な方法はありますか?

私は次のような多くのことを試しました:

sum(mylist[c(a, b, c)][1])

このコード行は機能しませんが、私が何をしようとしているのかについての洞察を与えてくれます。

ご協力いただきありがとうございます。

4

2 に答える 2

5

使用するsapply

> sum(sapply(mylist, "[", 1))
[1] 9

おまけの楽しい事実:c( )内部で使用できます[[ ]]:

sum( sapply(seq(mylist), function(i) mylist[[ c(i, 1) ]]) )
于 2013-10-04T21:04:50.350 に答える
2

あまり効率的ではない解決策:

 sum(unlist(lapply(mylist,'[',1)))
 [1] 9
于 2013-10-04T21:04:31.450 に答える