Rにロードしたい1000を超えるデータセットがあり、ロード時にそれぞれに個別に名前を付けます。それらをロードするには、次のコマンドを使用できることがわかりました。
temp = list.files(pattern="*.csv")
for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))
しかし、後で簡単に呼び出すことができるように、ロード時に各ファイルにどのように名前を付けるのでしょうか。
ファイル名のリストと同様に、data.frame名のリストが必要です。assign
その後、ステートメントの小さな変更を除いて、他のすべてはほとんど同じです
temp = list.files(pattern="*.csv")
# just an example
dataNames <- paste0(c("dataSource_", 1:length(temp)))
# then everything else is almost the same
for (i in 1:length(temp))
assign(dataNames[i], read.csv(temp[i]))
data.frameをリストに集約することをお勧めします。ループを使用sapply
すると、ファイル名を含む名前付きリストが得られます。
temp = list.files(pattern="*.csv")
named.list <- sapply(temp, read.csv)
編集
同じ列数のデータフレームのケースを回避するには、次のように設定する必要があります。simplify=FALSE
named.list <- sapply(temp, read.csv,simplify=FALSE)