2016-11-23 6 views
2

Reduce関数を使用して多数のdata.framesをマージするコードがありますが、data.framesの名前を手動でリストに入力する必要があります。私はリストを作成し、それをオンザフライでしたいと思います。data.frame名前のベクトルからdata.framesのリストを作成する

以下はpatman.summariesですdata.frames(またはtibble)。私はそれらのすべてからリストを作成する方法がわからないしかし

> patman.summaries 
[1] "KLEC10.summary" "KLEC11.summary" "KLEC12.summary" "KLEC4.summary" "KLEC5.summary" "KLEC6.summary" "KLEC8.summary" "LEC1.summary" "LEC2.summary" "LEC3.summary" 
[11] "LEC7.summary" "LEC9.summary" 

- 私のコードは私が私が以内に、この添付を育てることができたとだけ最後tibbleLEC9.summary

> list(eval(parse(text = patman.summaries))) 
[[1]] 
# A tibble: 724 × 2 
     mir_name1 LEC9.summary 
      <chr>  <int> 
1 hsa-let-7a-2-3p   8 
2 hsa-let-7a-3p   263 
3 hsa-let-7a-5p   1518 
4 hsa-let-7b-3p   240 
5 hsa-let-7b-5p  10358 
6 hsa-let-7c-3p   6 
7 hsa-let-7c-5p   1495 
8 hsa-let-7d-3p   647 
9 hsa-let-7d-5p   77 
10 hsa-let-7e-3p   39 
# ... with 714 more rows 

を含むリストを与えますループ?直接的な方法はありますか?

+3

またはおそらく' do.call(rbind、MGET(patman.summaries))を取得するためにbind_rowsを適用することができますbase R. – lmo

+2

@StephenHenderson私は答えに二重引用符を付けました:答えは同じです(または非常に似ています: 'do.call(rbind、mget(mats))'と同じことをする回答を受け入れました、 'dplyr'だけ)。 – Cath

+2

@StephenHenderson [これは](http://stackoverflow.com/q/19364332/4137985)良いでしょうか? – Cath

答えて

2

我々はlistの値を取得するためにmgetを使用して、 `単一data.frame

library(dplyr) 
mget(patman.summaries) %>% 
       bind_rows() 
+1

'mget(patman.summaries)'は私が望むものですが、 'bind_rows'には使用していません。テーブルは異なるので、マージする必要があります。私はそれのためのコードを持っており、それは今動作します。どうも。 –

+0

@StephenHendersonコメントをお寄せいただきありがとうございます。マージが必要な方は、 'mget(patman.summarises)%> Reduce(function(...)inner_join(...、by = specifycolumnname) – akrun

関連する問題