2016-04-08 13 views
1

データを抽出したいリスト(mydata $ notes)があります。私が「場所」を抽出したい場合、コードはこのように見えます。これはうまくいきます。リストのリストからデータを抽出する[R]

location <- unlist (lapply(mydata$notes, function(e) e$location)) 

今、私は私が抽出したいより多くの変数があるかもしれません、20のベクトルを言う、「場所」、「VAR1」、「VAR2」、「VAR3」というように、原子ベクトル

names(unlist(mytree$notes[[1]])) 

この名前変数に指定されたすべての変数を抽出するには、最初のコードをループする方法はありますか?

乾杯

答えて

0

抽出するリスト要素を保持するベクトルを定義します。その後、に電話し、lapply()に電話をかけて処理されます。

vars <- c("location", "var1", "var2", "var3") 

location <- unlist (lapply(mydata$notes, 
          function(e) { 
           unlist(e[vars]) 
          })) 

私が作った唯一の真の変化ではなく、原子ベクトルe$locationを返すので、私が代わりに各リストからいくつかの崩壊の要素からなるベクトルを返すことであることに注意してください。

+0

ありがとうございます!しかし、今私の "場所"変数は文字です。私は "vars"で指定された要素を持つ行列またはデータフレームを返したいと思います。これはどうすればいいですか? –

+0

これを行う方法は、[このSOの投稿](http://stackoverflow.com/questions/4227223/r-list-to-data-frame)を参照してください。 –

関連する問題