R語言數據結構入門實踐筆記
- 聽課筆記
PS:字實在寫得一般甚至有些錯別字,大家見笑了,不過我會繼續努力提高的!
- 課程內容
什麼是數據結構?
按照維基百科(https://zh.wikipedia.org/wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84)的定義,在計算機科學中,數據結構(英語:data structure)是計算機中存儲、組織數據的方式。
常見的數據結構主要有:
- 數組(Array)
- 堆棧(Stack)
- 隊列(Queue)
- 鏈表(Linked List)
- 樹(Tree)
- 圖(Graph)
- 堆(Heap)
- 散列表(Hash)
數據結構可透過程序語言所提供的數據類型、引用及其他操作加以實現。
從以上的定義和描述中我們不難發現,數據結構應該需要滿足一定規則,並且可以由不同的編程語言進行實現。考慮到本課程以R語言學習為主,以下著重介紹R語言所提供的不同數據類型。
R語言數據類型
簡單總結一下:
向量(vector)、矩陣(matrix)以及數組(array)用於保存同一種數據類型的數據,而數據框(data.frame)和列表(list)可以保存、組織不同類型的數據,在後續的數據分析中較為常用。
順便再提兩句因子(factor),因子是一個僅包含預設值的向量,用來存儲分類數據。以本次主講內容為例,對於status和diabetes這兩個向量(vector)可以進行因子化處理,賦予每一種分類數據為一個整數。
- 課後實踐
本次實踐的主要難點在於如何導入xlsx文件的數據。R語言提供了適用範圍廣泛的數據導入工具,針對xlsx文件可以有兩種辦法。第一種是將xlsx轉換為csv文件,然後用read.table()函數導入,語法如下:
mydataframe <- read.table(file, options)
第二種方法是用xlsx包直接導入Excel工作表,主要步驟如下:
#安裝xlsx包
install.packages(xlsx)
#載入xlsx包
library(xlsx)
#設置xlsx文件所在路徑
filepath <- "D:/workspace/DA-1/病例數據.xlsx"
#導入xlsx文件並設置編碼為UTF-8,以免出現亂碼
patientdataframe <- read.xlsx(filepath,1,encoding = "UTF-8")
數據導入以後,可以運用本講的知識快速完成課後的實踐練習,主要代碼如下:
#分析病人數目
patientdataframe.number <- nrow(patientdataframe)
#分析1型糖尿病病人數目
type1 <- patientdataframe[patientdataframe$糖尿病類型=="1型糖尿病",]
為了得到正確的結果,特別主要第二行代碼當中在==「1型糖尿病」後面不要忘記加上「,」 。
推薦閱讀:
※C語言實現數據結構-隊列
※九章演算法 | Snapchat 面試題 : 青蛙跳
※九章演算法 | Google 2016 面試題7:翻轉遊戲(Flip Game II)
※九章演算法 | Facebook面試題3 : Search a 2D Matrix II
※九章演算法 | Google面試題 : 路線重現