終於,程式猿用了6天(Day6-Day11)砍就了30天見面會的第二個主題:R語言基礎!
我們曾使用過R的內建資料集(iris)作練習,不過在實戰中,資料集則多半自外部,可能會收到檔案,也可能一個資料服務提供來源,接下來幾天,我們進入第三個主題:R語言資料介面,分別練習幾種常用的外部資料來源。
就和機器學習與R語言一樣,Excel也是出道很久的藝人,一直是蠻受歡迎男孩團體辦公室(Office)年紀最長的,在試算表界中有著崇高的地位,許多我們工程師需求中的使用者可以把Excel發揮的淋漓盡致讓人驚嘆,這幾年內建的BI工具更是讓人驚奇。
使用R語言時,和Excel合作演出的機會很高,今天來複習Excel載入!
常見的Excel有
如果想載入到R環境內成為Dataframe,我們可以使用GUI操作,GUI會自動在互動視窗中下R Script,但為了將來可能的自動化,我們先複習自己手作R Script載入檔案。
我們在資料夾MyR新增一支Day12.R
準備.xlsx及xls檔案
打開Excel,將以下字串(15-16 西班牙甲級足球聯賽排名)貼到工作表1
Id NAME win draw lose Goal Pts
1 Barcelona 29 4 5 112 91
2 Real Madird 28 6 4 110 90
3 Atletico Madrid 28 4 6 63 88
4 Villarreal 18 10 10 44 64
5 Sevilla 14 10 14 51 52
6 Granada 14 10 14 51 52
分別儲存為3種Excel格式的檔案(.xlsx .xls .csv)
這種csv格式也是最常見的Excel資料集,我們直接使用內建的Data input功能就可以載入了!
在Day12.R中輸入程式碼
#逗號分隔值(CSV)
#載入檔案
csvdata <- read.csv("C:\\temp\\test\\rdata.csv")
#抓取前5筆顯示
head(csvdata, 5)
執行結果
成功載入!
載入office open xml或是舊版的excel檔案需要額外安裝兩個Package。
在Day12.R中輸入程式碼
#Office Open XML(.xlsx)
#安裝xlsx package
install.packages("xlsx")
any(grepl("xlsx", installed.packages()))
#載入xlsx
library("xlsx")
xlsxdata <- read.xlsx("C:\\temp\\test\\rdata.xlsx", sheetIndex=1)
#抓取前5筆顯示
head(xlsxdata, 5)
執行結果
成功載入!
在Day12.R中輸入程式碼
#Office 97 -2003版本(.xls)
#安裝xls package
install.packages("gdata")
#載入xls
library(gdata)
#Read first sheet
xlsdata <- read.xls("C:\\temp\\test\\rdata.xls", sheet = 1)
#抓取前5筆顯示
head(xlsdata, 5)
執行結果
成功載入!
試試RTVS的Sample資料集!
打開資料夾 MRS_and_Machine_Learning\Datasets,確認範例資料(航班延遲資訊)的路徑
在Day12.R中輸入程式碼
#載入檔案
data <- read.csv("E:\\xxxx\\R\\RTVS-docs-master\\examples\\MRS_and_Machine_Learning\\Datasets\\Flight_Delays_Sample.csv")
#抓取前10筆顯示
head(data, 10)
執行結果:
成功載入!
航空公司(Carrier) DL : 達美航空
Excel除了作為外部資料載入的格式外,也經常用作整理清理後的資料儲存媒體,有機會可以參考R Manual Data Output連結。
https://stat.ethz.ch/R-manual/R-devel/library/utils/html/write.table.html
據說迪士尼公主系列也會一起演出
昨天(2016.12.11)攝於Hong Kong Disneyland,china
*Venture outside your comfort zone. The rewards are worth it.
Rapunzel
長髮公主說,走出舒適圈吧!你會發現一切都是值得的。