今天的內容算是前幾天的複習,如果大家熟悉前幾天介紹的dplyr ,那麼這次老闆交代的任務其實非常簡單,首先,我們使用list.files 把所有下載下來的資料集合起來。
fruit_price_data <- list.files(path="downloaded/", pattern="*.csv", full.names=TRUE) %>% 
    map_df(~read_csv(.))
結果你應該會發現出現了幾筆非常詭異的資料。

這問題其實在資料清潔時非常容易遇到,你手上的資料有很大的機率跟你預期很不一樣,我們發現下載下來的資料中,有某幾天的資料根本是空的。

使用Number/Excel 打開資料長這樣...

不過之前有介紹過dplyr ,我們可以用這樣的方式去除空資料。
result <- fruit_price_data %>%
    filter_at(1, any_vars(is.na(.))) %>%
    select_at(-1) 

再來,根據物品名稱去group,求得各個欄位後再排序。
result <- fruit_price_data %>%
    filter_at(1, any_vars(is.na(.))) %>%
    select_at(-1) %>%
    group_by(作物代號, 作物名稱) %>%
    summarise(上價平均=mean(上價, na.rm = TRUE) ,
                  中價平均=mean(中價, na.rm = TRUE) ,
                  下價平均=mean(下價, na.rm = TRUE) ,
                  總交易量=sum(交易量, na.rm = TRUE)) %>%
    filter(200 < 上價平均) %>%
    arrange(desc(總交易量))
就可以得出結果。

從結果發現,大部分符合如此條件的作物都是進口品或者是花卉。
ref
day13原始碼