我對R很新,似乎很難創建一個for循環來創建一個包含6個圖表(2列x 3行)的PDF圖形表。我正在使用以下循環將CSV導入到單獨的數據框中。批量在R中創建圖形表
##create filenames object that lists the csv files in a folder
filenames <- list.files(path="C:/Survey_Stage/Data_Transfer/Survey_Stage/Stage_Discharge_Relations/CIDA/", pattern="*.csv")
##run loop that imports each csv file in the folder, creates a dataframe, assigns the filename to the dataframe, and adds column names
for(i in filenames)
{
filepath <-file.path("C:/Survey_Stage/Data_Transfer/Survey_Stage/Stage_Discharge_Relations/CIDA/", paste(i, sep=","))
assign(i, read.table(filepath, header = TRUE, sep = ",")[,c('SP_elev', 'flow')])
}
在我的項目中的這一點上,我總共有23個csv,並且想要生成6張圖表。
繼承人是從csv導入循環中生成的數據框的示例。
> Z041R.csv
SP_elev flow
1 840.5466 5430
2 840.9774 8285
3 841.1020 9162
4 841.2236 10175
5 842.4053 18450
6 840.7600 6780
7 840.9493 8110
8 841.6590 12700
9 842.6615 20200
10 841.2138 10175
11 845.0801 41977
12 841.4786 11431
13 841.6829 13000
14 845.1645 42500
15 841.6142 12400
16 841.2574 10200
17 842.2315 16400
18 840.9390 8040
我的流量是自變量,SP_elev是因變量。我已經想出瞭如何單獨創建grahic工作表,但真的很想使用for循環來自動化該過程。有任何想法嗎?
繼承人我試過的循環。
##run loop to plot the csv files
pdf(file="myplots.pdf",paper="letter")
par(mfrow=c(3,2))
for(i in filenames)
{
plot (data.frame(i[flow], i[elevation]), xlab=expression(paste("Discharge (", ft^3, "/s)",sep = "")), ylab= "Elevation (m)", main = i)
}
dev.off()
感謝,
Dubbdan
這不僅僅是一個3行2列的空白圖,我似乎無法獲得每個數據幀的繪圖 – dubbbdan
所以告訴我們你的代碼和我們將tr y來調試它 –
我編輯了我的原始文章 – dubbbdan