1

パラメトリック スタディから分析する多くの結果があります。幸いなことに、出力ファイルが保存される出力ファイルがあります。ファイルの名前を保存する必要があります。私はこのルーチンを使用しました:

IndexJobs<-read.csv("C:/Users/.../File versione7.1/
  "IndexJobs.csv",sep=",",header=TRUE,stringsAsFactors=FALSE)

dir<-IndexJobs$WORKDIR
Dir<-gsub("\\\\","/",dir)
Dir1<-gsub(" C","C",Dir)

CSV を読み取り、別のデータフレームを作成するために e を使用します。

for(i in Dir1){
  filepath <- file.path(paste(i,"eplusout.csv",sep=""))
  dat<-NULL
  dat<-read.table(filepath,header=TRUE,sep=",")
  filenames <- substr(filepath,117,150)
  names <-substr(filenames,1,21)
  assign(names, dat)
  }

ここで、各データベースから選択した変数を抽出し、各データベースの各変数を別々のデータベースにまとめたいと思います。また、分析を行うための明確なデータベースを作成するために、変数と単一のデータベースの名前を結合します。私は何かを作ろうとしますが、悪い結果に終わります。他の行に挿入しようとしました:

 for(i in Dir1){
  filepath <- file.path(paste(i,"eplusout.csv",sep=""))
  dat<-NULL
  dat<-read.table(filepath,header=TRUE,sep=",")
  filenames <- substr(filepath,117,150)
  names <-substr(filenames,1,21)
  assign(names, dat)
  datTest<-dat$X5EC132.Surface.Outside.Face.Temperature..C..TimeStep.
  nameTest<-paste(names,"_Test",sep="")
  assign(nameTest,datTest)
  DFtest=c[,nameTest]
}

しかし、i ごとに DFtest が上書きされ、データベースの最後の列だけが残ります。

いくつかの提案?ありがとう

4

1 に答える 1

0

DFtest=c[,nameTest]に置き換えるとうまくいくかもしれません

DFtest[nameTest] <- get(nameTest)

または、代わりに、

DFtest[nameTest] <- datTest

DFtestこの手順では、ループを実行する前にオブジェクトが存在することを前提としています。


別の方法は、ループを実行する前に空のリストを作成することです。

DFtest <- list()

ループでは、次のコマンドを使用できます。

DFtest[[nameTest]] <- datTest

ループの後、リスト内のすべての値を次のDFtestように組み合わせることができます。

do.call("cbind", DFtest)

DFtestこれは、リスト内のすべてのベクトルが同じ長さの場合にのみ機能することに注意してください。

于 2012-09-25T12:53:23.177 に答える