2016-12-29 21 views
0

我有一些csv文件,我想在R中繪製數據。現在我手動讀取每個文件,執行一些計算,然後爲每個文件繪製一張圖。但是,因爲我想要對所有數據文件做同樣的操作,所以我試圖找出如何在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

我會說這些是兩個單獨的問題:第一個答案是在這裏:http://stackoverflow.com/questions/11433432/importing-multiple-csv-files-into-r第二個是更容易的部分。 – snoram

+0

很多類似的帖子圍繞着SO。 – 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

你的第三行('d < - ...')缺少一個結束括號,並且調用了'paste'或'paste0'。按照書面(但添加了右括號),它將簡化爲'read.csv(「C:/path/to/folder/data/1/.csv」)',這可能不是這裏所需的。 – drammock

+0

修正了,謝謝。 –