0

複数の *.csv シートをインポートする必要があり、後でそれらを結合する必要があります。100 期間、11 か国、20 変数にわたる四半期データを含むパネル データセットがあります。各変数を追加の csv として持っています。私の目的は、最初の列が国、2 番目が日付、3 番目以降が変数になるようにデータフレームを作成することです。

*.csv の最初の行は次のとおりです。

Date,Austria,Belgium,Finland,France,Germany,Greece,Ireland,Italy,Netherlands,Portugal,Spain
Q1 1990,91.739,8.978,-12.598,28.071,37.638,94.159,34.13,13.214,24.101,40.43,2.556

Q2 1990,134.143,-2.89,-26.014,16.421,48.189,166.933,19.602,8.507,7.219,17.512,-19.39

Q3 1990,84.336,-3.891,-32.364,14.527,31.013,376.683,21.09,6.773,2.065,24.313,-7.234

これまでに何をしましたか?:

path = "~/R file/"  
filenames <- dir(path, pattern = '\\.csv', full.names = F)
data <- read.csv(filenames[1])
data <- melt(data, id.vars="Date", value.name=filenames[1], variable.name="Country",na.rm=F)
data <- data[,c(1,2)]
 for (i in length(filenames)){
   print(paste("opening file ", filenames[i],sep=""))
   dta <- read.csv(filenames[i])
   dta_long <- melt(dta, id.vars="Date", value.name=filenames[i], variable.name="Country",na.rm=F)
   data <- merge(data,dta_long,by = c("Country","Date"))
    }

印刷すると、ループが最後のcsvファイルのみを処理するという問題が表示されます。したがって、データには 22 列ではなく 3 列しかありません。残念ながら、問題を解決する方法がわかりません。誰かがアイデアを持っていますか?

前もって感謝します!

4

1 に答える 1