iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 6
4
Data Technology

你都在公司都在幹啥R? R語言資料分析經驗分享系列 第 6

【06】當老闆問說:嗯...營收最好的是掌上型電玩啊,那第二、第三名呢?能畫個圖嗎?

  • 分享至 

  • xImage
  •  

這篇教學會延續上一篇,但在開始之前我們先將上一次的資料保存起來,我們可以使用write.csv() 來儲存資料結構,存放在output資料夾。

write.table(result, file="output/category_income_by_month.csv", sep = ",", row.names=FALSE, col.names = TRUE)

https://ithelp.ithome.com.tw/upload/images/20171223/201072991svLDhOfq4.png

然後在重新讀取該csv 來模擬如果我們今天拿到的報表或資料庫形式就是昨天的格式時,該如何來進行分析,也就是下面這張欄位長長的table。

category_income <- read.csv("output/category_income_by_month.csv", stringsAsFactors=FALSE)

https://ithelp.ithome.com.tw/upload/images/20171223/20107299D7nCmEH8Ye.png

前一天的教學講了如何使用spread 將資料的某欄位切格成多個欄位,今天要講的是如何逆向將多個欄位合併成單一個欄位,我們可以使用gather() 來解決,第一個參數放的是組合之後的欄位名稱,第二個參數放”組合值”的欄位名稱,第三個參數是哪些欄位要被組,na.rm可以決定要不要去除空欄位。

result <- category_income %>%
    gather(Category, Income, 2:73, na.rm=FALSE)

執行完成後,可以看到資料表變回先前的格式啦。

https://ithelp.ithome.com.tw/upload/images/20171223/201072999sAxIvLevW.png

剩下的步驟很簡單,我們group_by 不同的Category,然後計算各個Category 的總Income 就可以獲取結果了。

result <- category_income %>%
    gather(Category, Income, 2:73, na.rm=FALSE) %>%
    group_by(Category) %>%
    summarise(Category_Income = sum(Income))

https://ithelp.ithome.com.tw/upload/images/20171223/20107299bidfVTDwgI.png

畫出圓餅圖表

ggplot(result, aes(x="", y=Category_Income, fill=Category)) +
    geom_bar(width = 1, stat = "identity") +
    coord_polar("y", start=0) +
    theme(text=element_text(family="黑體-繁 中黑", size=12))

https://ithelp.ithome.com.tw/upload/images/20171223/20107299hQq9GmOoYF.png

痾...看來我的亂數分布的有些平均...每個項目都差不多啊...囧,沒關係,我們用文字來表達,使用arrange() 來排列報表。

result <- category_income %>%
    gather(Category, Income, 2:73, na.rm=FALSE) %>%
    group_by(Category) %>%
    summarise(Category_Income = sum(Income)) %>%
    arrange(desc(Category_Income))

https://ithelp.ithome.com.tw/upload/images/20171223/20107299YBxQpBMYdv.png

有此便可得知,前幾名的營收類別是什麼囉!

ref:
day6原始碼


上一篇
【05】當老闆說了:喔喔喔!那這些月營收之中,又是哪些東西賣的最好啊?
下一篇
【07】當老闆發問:OK,現在加幾個條件,請問公司營收最高的三個月中,而且用信用卡付款中的訂單,賣最好的是哪些種類的商品呢?
系列文
你都在公司都在幹啥R? R語言資料分析經驗分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言