身為小小碼農的我經過多日潛心學習後功力大增,主管看如此上進邀我參加局長所召開的會議,讓我長長見識,一如往常一間偌大的會議室坐著所有大官,也一如往常我坐的是最遠。
會議開始!咱們資訊部將分析好的結果進行彙報,此時,局長說停 我想知道這些問題,而這些問題是川普總統最想知道的,全部的人頓時傻眼全部望像我們資訊部這邊,此時鼻子有點癢挖了一下鼻孔,心理想到這種問題怎麼會輪到我,身為基層的我薪水35000天塌下來也應該是咱們資訊部的前輩頂著吧!回神過來感覺現場的氣氛不一樣,怎麼咱們資訊部所有人都看向我,不會吧!我的主管跟我示意點了一下頭,我....顫抖....走向筆電.....
局長說請告訴我以下問題
一、列出飛機準時紀錄最差的飛機編號清單交通部必需懲戒,以避免影響觀光
TailNum_delay <- flights %>% group_by(tailnum) %>% filter(arr_delay>0) %>%
mutate(tailnum_delay=arr_delay/sum(arr_delay)) %>%
select(year:day,tailnum,tailnum_delay) %>% arrange(desc(tailnum_delay))
View(TailNum_delay)
二、如果旅客想要避免delay可以選擇甚麼時段的航班,交通部可進行宣導,以達成搭乘分流
View(flights %>% group_by(time_hour) %>% filter(arr_delay==0) %>%
mutate(number=n()) %>% filter(number>=5) %>% arrange(desc(time_hour)) %>%
select(year:day,time_hour,number,arr_delay))
跟局長報告是:早上的6點~11點;中午1點、2點、3點、5點~6點
三、每個機場對於每個目的地,對於每個航班計算其目的地在總延遲中所佔的比例,藉由這份資料對機場進行檢討
View(flights %>% group_by(dest) %>%
filter(arr_delay > 0) %>% mutate(Total_delaySum = sum(arr_delay), Percent=(arr_delay/Total_delaySum)) %>%
arrange(desc(Percent)) %>%
select(dest,flight,Total_delaySum,Percent))
四、你們的資料都對的嗎?看看每個目的地找到可疑的快速飛行嗎?(即表示潛在的數據輸入錯誤的航班),計算相對於到達目的地的最短航班的飛行時間。哪些航班在空中的延誤最多?
AirFlight1 <- flights %>% group_by(flight) %>% filter(arr_delay>0) %>%
mutate(number=n()) %>% arrange(air_time) %>% select(
dest,air_time,arr_delay,flight,number
)
View(AirFlight1)
五、查兩個航空公司所飛行的目的地
A <- flights %>% group_by(dest) %>% filter(carrier=="YV"| carrier=="WN") %>%
mutate(number=n()) %>% arrange(desc(number)) %>% select(year:day,dest,carrier,number)
View(A)
程式的寫法有很多種都可達到想要的結果,若有不同的寫法或是寫錯,都請各位同好不吝告知,以達到知識交流的目的。當然上述程式碼都可帶入ggplot2套件中作視覺化的呈現,而本篇是以資料轉換及整理為主所以就無視覺化作呈現。
承如第一篇引言說到第一階段資料視覺化及資料篩選並找出想要的結果,並以內建資料為主,在今天這一篇算是第一階段的結束,我們可發現ggplot2沒有那麼難,資料的分析就四個函數的組合運用,這就靠多寫來累積經驗並理解,我個人覺得真的沒有捷徑。
所以下一階段就用實際的資料進行分析並將第一階段的相關含靈活運用,而下一篇會以電商平台所匯出來的資料進行相關的消費分析。
下一篇見!