2017-07-13 11 views
0

Rを使用してファイル(eg.csv)の値を保存したり書き換えたりするのに助けが必要です。各モデルのRMSE値を持つデータフレームがあります。Rのスクリプトを自動化するR

> v 
    Er value 
1 RMSE1 990 
2 RMSE2 1000 
3 RMSE3 991 
4 RMSE4 983 
5 RMSE5 987 
6 RMSE6 657 
> write.csv(v, file = "C:\\D_N\\Programs\\Energy Consumption\\v.csv") 

私はVと呼ばれる、CSV形式のファイルでこれらの値を保存しました。 2番目のプロセスの後で、私は新しいRMSEの6つのモデルの値を持っています。

> v1 
    Er Newvalue 
1 RMSE1  889 
2 RMSE2  890 
3 RMSE3  1034 
4 RMSE4  950 
5 RMSE5  965 
6 RMSE6  802 

いつもプロセスが実行され、私は新しいRMSE値を取得します。私はRMSEの平均値を与える自動化を行うことになっています。私はそれが手動で(毎回ファイルを保存し、加算、平均値を取得するために分割するのは簡単です)知っています。しかし、私はRに自動的にそれをやりたい。

R?親切に私にいくつかのアイデアを提案します。私はその質問が理解できると信じています。

ありがとうございます。

+0

実行ごとにRMSEのバージョンをRオブジェクトに保存できます。そして、新しいバージョンを実行するときは、最後のバージョンのRMSEに対して、保存されたRオブジェクトをロードするだけです。こうすることで、Excelを使用せずにRでプロセスを自動化できます。お役に立てれば。 –

+0

ありがとうございます。私もこのようにすることを考えました。しかし、問題は、毎回ファイルを保存して読み込む必要がある場合、ファイル数が50以上になることです。それは良いことではないと思います。 – dhinar

+0

多くのファイルをインポートできます。 SO(またはGoogle)の簡単な検索では、これについて多くの結果が得られます。インポートしたすべてのデータを取得したら、すぐにすべてのデータセットで必要なものを計算できます。 –

答えて

0

以下は私の疑似Rコードです。必要に応じてコードを変更してください。私のコメントでは、リストの使用を提案しました。リストを使用する利点は、複数のファイルを保存する必要がないことです。

RMSE_VersionsFile <- "RMSE_VersionsFile.RData" 
if(file.exists(RMSE_VersionsFile)) { 
    load(RMSE_VersionsFile) 
} else { 
    RMSE_Versions <- list() 
} 

# Do your computation 

# . 
# . 
# . 
# . 

# Calculate RMSE for the models, say it is RMSE 
# Give a unique version name 
# For example, version with time 
library(dplyr) 
versionName <- Sys.time() %>% gsub(":|-| ", "_", .) 
RMSE_Versions[[versionName]] <- RMSE 

# lapply on RMSE_Versions, to get the mean for RMSE for all versions, as per your need 
save(RMSE_Versions, file=RMSE_VersionsFile, compress=TRUE) # Only one file required 
+0

ありがとう – dhinar

関連する問題