Chapter 7 Conclusion

Where we get our project ideas?

  我們這學期一起選修馬瑞辰老師以及陳怡芬老師所開設〈金融與不動產行銷管理實務〉課程,其中馬老師提到了REITs以及其發展的限制,他認為台灣REITs這次的修法會為台灣房市投資環境注入活水、改變現況,並且列舉美日星等國的發展政策,因此我們十分好奇REITs崛起的關鍵所在而決定以此做為我們的專題。


What R techniques have been used?

  • 資料角力(Data wrangling) 詳見??
  1. SQL運用,建置DB檔統整數據
con <- dbConnect(RSQLite::SQLite(), dbname = db_path)
dbListTables(con)
## [1] "all_index" "m_index"   "re"        "sp"       
## [5] "tr_index"  "wr"
  1. 處理缺失值
data[is.na(data)] <- 0
  1. 處理Outlier
outlier_data <- layer_data(plot)['outliers']
outlier_data

  由於老師和我們強調過資料清洗的重要性,因此我們拿到資料的一開始就會注意哪裡有缺失值?又該用什麼函數處理?真的幫助我們很少遇到讀取資料的問題。

  • 利用函數
`%--%` <- function(x, y)
{
  do.call(sprintf, c(list(x), y))
}
  • Pipe%>%運用 : 程式一目了然減少看懂程式的時間。
par(mfrow = c(2,3))
for(i in data$stock_id %>% as.factor() %>% levels())
{
  with(subset(data, stock_id == i), 
       plot(x = time, y = stock_price, main = i, type = "l"))
}
  • 子樣本運用
      老師介紹的處理子樣本技巧在我們此次專題很重要,因為我們有多檔Reits ,所以讓我們可以不用暴力解以至於程式雜亂不知所云(例如subset),並且很方便就能在幾行內寫完。

How many new packages and functions are used?

packages 說明
DBI SQLite 老師推薦我們自學,正好專題資料繁多,使用SQL自建資料集方便函數引用
lubridate ymd字串轉時間,資料多為時間序列資料
xts, zoo 處理時間序列資料
hrbrthem ggplot2繪圖美觀用
gganimate 繪製動態圖
quantmod 抓取國外REITs股價資料使用
bookdown 報告呈現使用,markdown升級版
Shiny 互動式資料呈現

What is the most difficult part of our analysis?

前期建置國外資料庫非常耗時,我們在資料蒐集時參考的許多網站,樣本也盡量找官方提供的清單,而數據的部分我們選擇擁有跨國股價數據以及最好爬蟲的yahoo finane。

最後在呈現數據部分,我們一直在思考:
  1. 為什麼這張圖無法表達我預期的假設?
  2. 哪種圖更能簡單明瞭的呈現資料?

但也因此發現了很多好玩的套件,老師提供的The R Graph Gallery在喪失靈感的時候非常好用,裡面很有多精美的圖例可以參考。