R語言套件tidyr

整理資料的套件之一,來源 https://github.com/tidyverse/tidyr ,用來取代reshape與reshape2的套件。小編也使用過 reshape2 套件,雖然這兩套件大同小異,但tidyr使用起來更順手。這次主要介紹 tidyr 的三個重要函數來整理台指期的三大法人資料。

首先先到期交所網頁下載三大法人資料,以 2017/03/15 至 2017/03/16 台股期貨資料tx.csv為例,例子只取 ”多空交易口數淨額” 與 ”多空未平倉口數淨額” 兩個變數,也可以加入更多的變數。

install.packages('tidyr')

library(tidyr)

tx <- read.csv("D:/tx.csv") 

tx <- tx[,c(1, 3, 8, 14)]

View(tx)

tx      

由 tx 結果可以看到每個欄位並非是同一個身份別的資料,若要做統計回歸必須要將資料作適當的轉換。接下來要介紹使用 tidyr::gather 的函數,與 reshape2::melt 相似。其中的參數 key 便是收集變數名稱所形成的變數名稱, value 即是收集變數值所形成的變數名稱。

tx1 <- gather(tx, key = key, value= value, 多空交易口數淨額, 多空未平倉口數淨額)

View(tx1)

tx1

使用 tidyr::unite 將 “身份別 ” 與 “key” 做合併為單一變數 “variable”。

tx2 <- unite(tx1, variable, 身份別, key, sep = '.')

View(tx2)

tx2     

最後再將 tx2 使用 spread 函數展開,設定欲展開的變數 “variable” 與值 “value” :

tx3 <- spread(tx2, key =  variable, value =  value)

View(tx3)

Image 1

tx3 便是各三大法人的 “多空交易口數淨額” 與 “多空未平倉口數淨額” 的整齊資料了。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s