2016-12-29 9 views
0

私はRでプロットしたいデータを含むいくつかのcsvファイルを持っています。今は手動で各ファイルを読み、いくつかの計算を行い、各ファイルのグラフをプロットします。しかし、私はすべてのデータファイルで同じことをしたいので、私はforループでそれを行う方法を理解しようとしています。R forループ - csvをインポートしてグラフをエクスポートする

「myfolder」フォルダにdata1.csv、data2.csv、data3.csvというファイルがあり、figure1.png、figure2.png、figure3.pngという名前でエクスポートしたいとします。

データファイルには、まったく同じ値の変数があります。 STATAで

私はこのようにそれを行うだろう:

glo dir "C:/.../myfolder" 
forvalues x = 1/3 { 
    import delimited using $dir/data`x'.csv, clear 
    ** some calculations ** 
    graph two scatter Y X 
    graph export $dir/figure`x'.png, replace 
} 

は何Rと同等だろうか?そのような

+1

私はこれらが2つの別々の質問であると言います:最初のものへの答えはここにあります:http://stackoverflow.com/questions/11433432/importing-multiple-csv-files-into-r 2番目の部分はより簡単な部分です。 – snoram

+0

似たような記事がたくさんあります。 – lmo

答えて

2

何か作業をする必要があります:

f <- "C:/path/to/folder/" 
for (i in 1:3) { 
    d <- read.csv(file.path(f, paste0("data", i, ".csv"))) 
    # compute stuff 
    png(file.path(f, paste0("figure", i, ".png"))) 
    plot(x, y) 
    dev.off() 
} 

これは何が必要であることを確認するfile.pathplotのためのマニュアルを参照してください。

+0

3行目( 'd < - ')に閉じ括弧がなく、 'paste'または' paste0'が呼び出されています。書かれているように(但し、閉じ括弧が追加されていれば) 'read.csv(" C:/path/to/folder/data/1/.csv ")に単純化されます。これはおそらくここで望まれていないでしょう。 – drammock

+0

修正しました、ありがとうございます。 –

関連する問題