2017年12月30日 星期六

使用 markdown 在網頁上呈現 R --- 觀察香蕉價格

---
title: "Agricultural Prices"
author: "Yung-Wen Liu"
date: "2017年11月29日"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## Product: Banana
**香蕉**屬於芭蕉科、芭蕉屬的草本植物,生長於熱帶地區,通常從種植到可以採收的時間大約一年。由於是草本植物,加上葉片巨大,很容易受到風災影響。

**香蕉**今年年初價格昂貴,約在9月之後崩盤。菜土菜金、看天吃飯,一直以來是台灣農業的寫照。希望藉由一些能容易查詢到的資料做一些整理,了解市場價格變化的趨勢以及可能導致的因素,從中能有一些體悟。資料來源: [農產品批發市場交易行情站](http://amis.afa.gov.tw/main/Main.aspx)。
把下載的資料整理如下:
![資料](https://9dvm4w.bl3302.livefilestore.com/y4mJcVkByUCUZexYshO0mPc7W-0RTB9ZZ3AEas80MY27rNk8761AVdnULDLePp-OIPjYXr6WkcQvK8lPls2vf5W3TsUYj582YZqj9Nw7mOlohJbBE_-hJxszt8D0m7F96OFYPtwEqKZjZW82D-GlDCakY0YZsdKBdbdNjg0vjfl5iO2n9IwtRvbaJ1oUtKTDB6RdyG39q8c62CLUH5FYWBzvA?width=899&height=553&cropmode=none)

## Importing and Cleaning Data
```{r}
price <- read.table("clipboard", header = T, sep = "\t")
colnames(price) <- c("date", "market", "product", "high", "medium", "low", "price_avg", "volume", "value")
price$date <- as.Date(paste(as.numeric(substr(price$date, 1, 3)) + 1911, substr(price$date, 4, 9), sep = ""))
price$volume <- as.numeric(price$volume)
price$market <- as.character(price$market)
price$product <- as.character(price$product)
```

## Plot
畫出時間與平均價格、交易量的變化圖。

```{r fig.width = 14, fig.height = 7}
library(ggplot2)
ggplot(price, aes(date, price_avg)) +
       geom_line() +
       facet_grid(product ~ market, scales = "free_y")
ggplot(price, aes(date, volume)) +
       geom_bar(stat = "identity") +
       facet_grid(product ~ market, scales = "free_y")
```

來看看昂貴價格、便宜價格、最大交易量與最少交易量。

```{r}
min_price <- min(price$price_avg)
max_price <- max(price$price_avg)
min_volume <- min(price$volume)
max_volume <- max(price$volume)
knitr::kable(subset(price, price_avg == min_price | price_avg == max_price | volume == min_volume | volume == max_volume))
```

交易量少時價格較為昂貴,符合供需法則。直接取最大值與最小值來看會觀察到極端值。 接著對交易量與平均價格做關係圖。

```{r fig.width = 14, fig.height = 7}
ggplot(price, aes(volume, price_avg, col = product)) +
       geom_point() +
       facet_wrap(~ market, ncol = 5)
```

觀察**A1 香蕉**的最貴價格在100元上下,交易量超過25,000公斤時出現最低價格。
以**109 台北一**市場做為觀察指標,因為交易量較大,價格與產量比較符合線性關係,避免觀察到極端值。

```{r}
library(dplyr)
a1_109 <- price %>% filter(market == "109 台北一  " & product == "A1 香蕉  ")
summary(a1_109)
lm <- lm(data = a1_109, price_avg ~ volume)
plot(a1_109$volume, a1_109$price_avg)
abline(lm, col = "red", lwd = 2)
summary(lm)
```

價格大約在10元上下觸底,此價格應該是農民的成本價,不合成本不會交易。 來看看價格17.55元以下、76.5元以上的交易量有多少。

```{r}
knitr::kable(subset(a1_109, price_avg <= 17.55 | price_avg >= 76.5, decreasing = TRUE))
```

2015-2016年間的低價時間,交易量大約都有25,000公斤以上的水準,發生時間在6-7月之間。 2017年的低價時間出現在7-10月之間,低價時間明顯比前兩年久。

## Conclusion
**香蕉**近三年來價格變化最大的年份在2017年,由1月高價96.5元,於10月跌落至9.7元。農作物受到影響最大的因素是氣候,其中颱風造成的影響甚大。

查詢颱風的歷史資料可以發現2016侵略台灣的颱風有梅姬、莫蘭蒂與尼伯特,皆對中南部造成一定程度的影響。2015年為蘇迪勒,2014年為麥德姆,2017則沒有嚴重的颱風災情。資料來源: [颱風資料庫](http://rdc28.cwb.gov.tw/TDB/ntdb/pageControl/ty_warning)。 由於2016年有三個颱風侵襲,2017年沒有颱風對**香蕉**造成太大影響,導致2017年初價格上漲,接著進入產期後,價格開始下跌。

近年來香蕉的栽種面積有上升的趨勢,如何調節產季會是重要的課題。若沒有風災發生,如何消化過多的產量。[農糧署預估香蕉價格大跌,農民反彈「政府唱衰」產銷如何調節?](https://www.newsmarket.com.tw/blog/95441/)
這篇文章描述很多,這些問題大家應該都知道,也許政府不要干預太多,站在輔導的立場,讓價格回歸市場機制。風調雨順對於台灣農業是好事或者壞事?


以上是以 R 語言來看農產品價格的起跌 --- 香蕉為例的 markdown 內容。markdown 的詳細使用方式可按此連結查閱。以下講述此篇有使用到的內容。

嵌入 R 語言

```{r}
code
```
在 code 區域編寫想要執行的指令即可。其中可以簡單分為幾種狀況:
R 語言與結果皆不顯示,{r, include = FALSE}
僅顯示結果,{r, echo = FALSE}
僅顯示指令,{r, result = "hide"}

測試部分區塊的指令有無問題,可以點選 Run Current Chunk,或者在 R 語言區塊的右上角有一個小小的撥放鍵可以點來執行此部分的 R 語言。


內文的編輯

markdown 可以使用一些簡單的符號來達到編輯文字的效果:
*文字* 斜體
**文字** 粗體
# 標題
## 標題
* 項目符號黑點
1. 項目符號數字
2. 項目符號數字
[文字](連結網址)
![圖片](圖片網址)

詳細的內容可見此份 R markdown 速查表
文件編輯好後點選左上角的 Knit 按鈕輸出為網頁。


檢視內容沒有問題後點選右上角的藍色符號,可以上傳到 Rpubs 上發表。


最後的成果 Banana Price in Taiwan

2017年12月25日 星期一

以 R 語言來看農產品價格的起跌 --- 香蕉為例

農產品的價格變化很大,以香蕉為例,觀察近 3 年的價格變化,來看看可能影響價格的因素。資料在農產品批發市場交易行情站取得,以 R 語言做簡單的分析,此 R 語言可套用其它農產品的資料進行分析。

進行的分析有以 ggplot2 繪製各市場、各品種的價格、交易量與時間變化關係。dplyr 篩選交易量大的市場與品種,plot 繪製價格與交易量關係,簡單 lm 回歸分析。以 filter 或 subset 篩選香蕉高價時與低價時的資料,觀察時間點與交易量。

excel 的前處理

先去下載感興趣的資料。

香蕉今年價格變化大,來看看香蕉的資料。下載後的資料長這個樣子。

我只要中間的表格部分,頂端的註解與後端的小計都刪掉。

讓資料的 row 是觀測點,colum 是變化項。複製資料貼到新的工作頁上,發現多出了一列數字,仔細觀察這個數字,可以看出是平均價格與交易量相乘的乘積。

 將乘積取名為"市值",刪除兩列"增減"的項目。全選資料右鍵,點選儲存格格式,將格式轉為"通用格式",否則資料匯入 R 時數字會因格式的關係而有改變。

整理好的資料如下。

接著便可匯入 R 中進行分析了。我使用 markdown 撰寫並發表至 RPubs 上面:
Banana Price in Taiwan

2017年12月17日 星期日

學習 R 語言

在念書時曾經想使用資料分析軟體來進行統計與繪圖,因害怕面對語法而退怯。如今面對大量資料要分析時,有感 excel 不好使用,又再度重新面對資料分析軟體。

在茫茫網海中瞥見 DataCamp 上十二門課,照著作者建議的學習路徑走,熟悉 R 語言的操作方式,順手複習統計學。

整理資料是最麻煩的事情,可以在 excel 先將資料格式整理好,載入 R 後使用 tidyr 與 dplyr 再進行資料的前處理。

DataCamp 上的 Learn 選單中的 tracks,提供了一些課程建議。資料處理的課程建議為 Data Manipulation。整理好資料後,下一步就是進行分析了。


進行何種分析就要看目的了,Datacamp 上的 skill tracks 可以選擇 statistics 進行學習。R 還有許多 package 可以使用,端看想要的分析方式,選擇合適的 package。

資料處理 ------> 分析 ------> 結果呈現

結果呈現當然以圖形最好,沒人想看落落長的文字或公式。這時候就是使用 R 中強大的 ggplot2。在 Datacamp 中的課程如下:

網路搜尋 ggplot2 也會有很多教學,便不再多做撰述了。

<房市老手21堂超強實戰課:快速看穿房屋買賣陷阱>閱讀筆記

https://www.taaze.tw/apredir.html?131322949/https://www.taaze.tw/products/11100982076.html?a=b 賣房篇 1.      頂樓加蓋對於房價 頂樓加蓋還是可以計入房價,多為房屋單坪價格的 1...