0

Rにデータをインポートするために次のコードを書きました:

## specify where all the data files are stored 
DataFolder <- "DataFolder"

## obtain the name of each file in DataFolder
files <- list.files(DataFolder)

## obtain name of each file
LocNames <- unique(sub("^([^.]*).*", "\\1", files)) # this removes the extension and keeps the unique names

for (i in 1:length(LocNames)){

  #
  car <- read.table(paste(DataFolder, paste(LocNames[i], ".car", sep=""), sep="/"),
                    header = TRUE, sep = "\t", colClasses=c(dateTime="POSIXct"))  
  car <- aggregate(car[colnames(car)[2:length(colnames(car))]],list(dateTime = cut(car$dateTime,breaks = "hour")),mean, na.rm = TRUE)

  #  
  light <- read.table(paste(DataFolder, paste(LocNames[i], ".light", sep=""), sep="/"),
                    header = TRUE, sep = "\t", colClasses=c(dateTime="POSIXct"))
  light <- aggregate(light[colnames(light)[2]],list(dateTime = cut(light$dateTime, breaks = "hour")),mean, na.rm = TRUE)
}

ここに、すべてのファイルが保存されている DataFolder があります。ファイルには、データが記録された場所と、測定された変数の名前が付けられたファイルの拡張子に従って名前が付けられます。ここでは例として自動車販売とライトを取り上げます。

ここから、ループ内の引数のサイズを小さくしたいので、同じ手順を繰り返して別の変数に名前を付ける代わりに、car、light などの変数名とその結果を記述するだけで済みます。表示されたスクリプトが返されます。

私の意図が明確でない場合はお知らせください。

4

1 に答える 1