Chapter 7 Conclusion
Where we get our project ideas?
我們這學期一起選修馬瑞辰老師以及陳怡芬老師所開設〈金融與不動產行銷管理實務〉課程,其中馬老師提到了REITs以及其發展的限制,他認為台灣REITs這次的修法會為台灣房市投資環境注入活水、改變現況,並且列舉美日星等國的發展政策,因此我們十分好奇REITs崛起的關鍵所在而決定以此做為我們的專題。
What R techniques have been used?
- 資料角力(Data wrangling)
- SQL運用,建置DB檔統整數據
<- dbConnect(RSQLite::SQLite(), dbname = db_path)
con dbListTables(con)
## [1] "all_index" "m_index" "re" "sp"
## [5] "tr_index" "wr"
- 處理缺失值
is.na(data)] <- 0 data[
- 處理Outlier
<- layer_data(plot)['outliers']
outlier_data 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在喪失靈感的時候非常好用,裡面很有多精美的圖例可以參考。