我試圖用一個時間序列圖比較不同的城市與一個center
數據(數據幀)。其中center
是一個R studio中的數據框對象,我已經導入。R:在一個時間序列圖中獨立繪製多個csv文件
我有一個165個csv文件的文件夾,每個文件都代表一個城市。我想在一幅圖中加上所有165個csv文件(作爲獨立的名稱/數據幀)加上center
數據幀。
我希望它看起來是這樣的:(與x軸是時間,並與所有爲純色y軸是CO
有我想要的四件事做每個csv文件,但最終,有它的自動化,這四個動作完成到每個165個CSV文件。
1)跳過前25行的CSV文件
2)合併每個c的日期和時間列SV文件
3)拆下,其中在第3欄的單元中的值是空的行
4)更改從微克/立方米3列的名稱爲CO
我希望它執行以自動方式對165個csv文件中的每一個執行四個操作。然後,能夠在一個圖中有效地繪製新更新的csv文件。
我在一個csv文件上使用了下面的代碼來查看它是否可以在一個csv上工作。我不知道如何一切都在一個有效的manner.achieve這種結合:
city1 <- read.csv("path",
skip = 25)
city1$rtime <- strptime(paste(city1$Date, city1$Time), "%m/%d/%Y %H:%M")
colnames(city1)[3] <- "CO"
city[,3][!(is.na(city[,3]))] ## side note: help with this would be appreciated, I was unsure of what goes before the comma.
總的來說,我要像上面的曲線與所有的165個城市(CSV文件)。我需要幫助將四個操作放在每個csv文件上,並將它們全部繪製在一個繪圖中。
的情節, 我做這個作爲一個例子:
ggplot(center, aes(rtime, CO)) + geom_smooth(aes(color="Center"))+
geom_smooth(data=city1,aes(color="City1"))+
labs(color="Legend")
UPDATE: 每個城市的CSV文件似乎已經結合起來,創造一個line.I如果我能我不知道發佈確切的輸出,但它看起來像下面這個:粉紅色的線是城市,藍色是center.x軸時間和y軸是CO.I希望這有助於。
結果的unique(df.cleaned$cities)
> unique(df.cleaned$cities)
[1] "WFH4N_YEK04_PORTLAND_08AUG16_R1"
[2] "WFH2N_QIM23_AUSTIN_30JUL16_R1"
[3] "WFH7N_QIM70_NEWYORK_20JUL16_R1"
[4] "WFH3N_YEK28_NAMPA_23AUG16_R1"
[5] "WFH9N_YEK18_MESA_12JUL16_R1"
[6] "WFH6N_QIM10_OAKLAND_11AUG16_R1"
[7] "WFH3N_YEK01_DETROIT_30AUG16_R1"
[8] "WFH6N_YEK05_ATLANTA_30AUG16_R1"
[9] "WFH1N_YEK32_LONGBEACH_01JUL16_R1"
[10] "WFH8N_YEK39_LOSANGELES_30AUG16_R1"
[11] "WFH5N_YEK59_BALTIMORE_31AUG16_R1"
[12] "WFH1N_QIM19_MEMPHIS_01JUL16_R1"
[13] "WFH0N_YEK2087_DENVER_09JUL16_R1"
[14] "WFH4N_QIM43_CLEVELAND_30AUG16_R1"
[15] "WFH8N_QIM65_HARTFORD_30AUG16_R1"
[16] "WFH2N_YEK66_SEATTLE_30AUG16_R1"
[17] "WFH0N_YEK17_SANJOSE_30AUG16_R1"
要自動化閱讀165 csv文件的部分,可以獲取所有csv文件名稱的字符矢量,然後在文件名上添加文字。例如'file_names <--list.files(path =「your folder path」,pattern =「.csv」)'獲取文件名,然後'lapply(file_names,FUN = function(file){...}) ' – shaojl7
隨着我發佈的正則表達式,所有這些將解析爲「」,因爲你的城市名稱是大寫的,而不是像你給的例子一樣的標題情況。如果您不嘗試提取城市名稱,而是像這樣留下那一列「城市」,那麼您的情節應該爲每個城市分別設置不同的行,如'aes(color = cities)'所給出的。這部分工作是否正確? – Brian
@Brian我決定不嘗試正則表達式,當我意識到我給出的例子是不同的。沒有添加正則表達式,它仍然給了我一行。 – Mah