2

長さの異なるさまざまな数値ベクトルで構成されたリストがあります。同じインデックスを持つオブジェクト (たとえば、各要素の 3 番目のオブジェクト) を抽出する方法について何か提案があるかどうか知りたいです。

次のようなものがあると想像してください。

States<-list(Italy=rbinom(5,4,0.5),Spain=rnorm(12,6,1),Greece=sample(1:14, 6))
> States
$Italy
[1] 2 2 1 4 2

$Spain
 [1] 5.403135 5.616146 7.224063 5.602878 6.738619 6.732706 7.636093 5.917246 5.901094
[10] 5.818594 7.420575 5.545782

$Greece
[1]  8  9  3 11  4 14

次のようなベクトルになる各要素の最初のオブジェクトを含む数値ベクトルを取得するにはどうすればよいですか。

[1] 2 5.403135 8

ありがとう!

4

1 に答える 1

1

lapplyまたはの使用を検討してくださいsapply。どちらも最終的には同じ結果になります。

の場合lapply:

> lapply(States,function(x)x[1])
$Italy
[1] 2

$Spain
[1] 6.694136

$Greece
[1] 10
> unlist(lapply(States,function(x)x[1]), use.names=FALSE)
[1]  2.000000  6.694136 10.000000

の場合sapply:

> sapply(States,function(x)x[1])
    Italy     Spain    Greece 
 2.000000  6.694136 10.000000
> as.vector(sapply(States,function(x)x[1]))
[1]  2.000000  6.694136 10.000000
于 2013-07-03T20:54:21.203 に答える