2

Rにロードしたい1000を超えるデータセットがあり、ロード時にそれぞれに個別に名前を付けます。それらをロードするには、次のコマンドを使用できることがわかりました。

temp = list.files(pattern="*.csv")

for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))

しかし、後で簡単に呼び出すことができるように、ロード時に各ファイルにどのように名前を付けるのでしょうか。

4

2 に答える 2

0

ファイル名のリストと同様に、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]))
于 2013-02-24T21:15:50.510 に答える
-1

data.frameをリストに集約することをお勧めします。ループを使用sapplyすると、ファイル名を含む名前付きリストが得られます。

temp = list.files(pattern="*.csv")
named.list <- sapply(temp, read.csv)

編集

同じ列数のデータフレームのケースを回避するには、次のように設定する必要があります。simplify=FALSE

named.list <- sapply(temp, read.csv,simplify=FALSE)
于 2013-02-24T22:19:30.310 に答える