2017-10-29 10 views
0

したがって、20個のデータフレームのリストがあります。各データフレームは年を表しています(1980-2000)。私のすべてのデータフレームを1つにマージするのが好きですが、各データフレームの年を表す列がありますので、時間をかけて操作を続けることができます。すべてのデータフレームのリスト内の列名は同じです。ですから、合併は難しいことではありませんが、私は各データフレームを特定する必要があります。私はこれやってデータフレームの私のリストを持っデータフレームのリストをそれぞれの要素としてマージするR

TotalDF: 

x1 x2 x3 new_var 
x x x 2000 
x x x 2000 
x x x 1999 
x x x 1999 
. . . . 
. . . . 
x x x 1980 

を探して何イム

Example: 
list of data frames 
df1 <- Name2000 
df2 <- Name1999 
. 
. 
. 
df20 <- Name1980 

:追加の参考のために

filenames <- list.files(path="C:/Users/clint/Documents/R/Personal 
work/Fires/rain/", full.names=TRUE) 

All <- lapply(filenames,function(i){ 
    i <- paste("",i,sep="") 
    read.csv(i, header=FALSE) 
}) 
filenames <- gsub("-",".",filenames) 
names(All) <- gsub(".csv","",filenames) 
+2

'すべての< - lapply(ファイル名、関数(I){ iは< - ペースト( ""、I、9月= "") DF < - read.csv(I、ヘッダ= FALSE) DF $ new_var < - gsub( " - | .csv"、 "。"、i) df }); do.call(rbind、All) '。 – Abdou

+2

@Abdou、plsはコメントに複数行のコードを投稿するときにセミコロンを追加することを忘れないようにしてください。 – r2evans

+0

これで問題は解決しました。迅速な対応に感謝します。 –

答えて

2

を、

dplyr::bind_rows([list], .id='year')

がprobaですあなたが今年までにリスト要素に名前を付けたと仮定すれば、最も簡単な方法です。

関連する問題