TL; DR:必要なものはlist()
のベクトル化されたバージョンです。オブジェクト名のベクトルから多くのオブジェクトのリストを作成する
私はオブジェクトのリストを作成しようとしています。どれくらいのオブジェクトがあるのか、何が呼び出されるのか分かりませんし、それらのオブジェクトが多数あるかもしれません。だから私は手でリストを作ることはできない。
しかし、私はリストを作る時間が来たときに、すべてのオブジェクトが私の環境に存在することを知っています。そして、私はすべてのオブジェクトの名前を含む文字ベクトルを持っていることを知っています。
(これは、私がもっと大きくするのを避けようとしている恐ろしい3層ループの出力です。空のリストを作成してループを作成するときにオブジェクトを割り当てるだけで、私はGoogleとStack Overflowを検索しましたが、良い解決策が見つかりませんでした。私に必要なのは、list()
のベクター化されたバージョンです:オブジェクト名のベクトルをとり、それらのオブジェクトをすべて見つけてリストに入れてしまうもの。
list(obj1, obj2, obj3) # Not this. I don't want to name each element individually.
objectsVector <- c("obj1", "obj2", "obj3")
list_vectorised(elements = objectsVector) # I want this instead.
namesVector <- c("anObject", "anotherObject", "yetAnotherObject")
list_vectorised(elements = objectsVector, names = namesVector) # Or better still, this.
'mget(namesVector)' –
ありがとう! mgetの使用は、lapply-ing getよりもはるかに優れています。 –
リンク先の記事で私の答えを見てください。 'ls'のパターン引数とともに' mget'を使って、特定のパターンに名前が一致するオブジェクトをプルします。リンクされた投稿はdata.framesについて尋ねますが、すべての回答はあらゆるタイプのRオブジェクトに対して機能します。 – lmo