標籤:

《R語言實戰》第一、二章實戰練習

這周正式開始了R語言的學習。

一、學習筆記

1.向量

向量是用於存儲數值型、字元型或邏輯型數據的一維數組。執行組合功能的函數 c() 可用來創建向量。例如:a <- c(1, 2, 5, 3, 6, -2, 4)

其中,a[c(2,4,6)]是指在向量a中第2,4,6個數值。

2.矩陣

矩陣是一個二維數組,只是每個元素都擁有相同的模式(數值型、字元型或邏輯型)。可通過函數 matrix() 創建矩陣。

一般使用格式為:

mymatrix <-matrix(vector,nrow=number_of_rows,ncol=number_of_columns,byrow=logical_value,dimnames=list(char_vector_rownames, char_vector_colnames))

其中 vector 包含了矩陣的元素, nrow 和 ncol 用以指定行和列的維數, dimnames 包含了可選的、以字元型向量表示的行名和列名。選項 byrow 則表明矩陣應當按行填充(byrow=TRUE),還是按列填充( byrow=FALSE ),默認情況下按列填充。

這是將矩陣元素按行填充。

在這裡,是按列填充。

X[i,] 指矩陣 X 中的第i行, X[,j]指第j列, X[i, j] 指第i行第j 個元素。

3.數組

數組(array)與矩陣類似,但是維度可以大於2。數組可通過 array 函數創建,形式如下:

myarray <- array(vector, dimensions, dimnames)

其中 vector 包含了數組中的數據, dimensions 是一個數值型向量,給出了各個維度下標的最大值,而 dimnames 是可選的、各維度名稱標籤的列表。

從數組中選取元素的方式與矩陣相同。

所以,z[1,2,4]對應的數值為21。

4.數據框

數據框可通過函數 data.frame() 創建:mydata <- data.frame(col1, col2, col3,...)

其中的列向量 col1 、 col2 、 col3 等可為任何類型(如字元型、數值型或邏輯型)。每一列的名稱可由函數 names 指定。

可以使用前述(如矩陣中的)下標記號,亦可直接指定列名。

patientdata[1:2]是指數據框中的第一、二列,也就是用下標記號指出需要的列。「diabetes」和「status」是列名,通過列名篩選所需的列。第三種方式是用「$」完成,它被用來選取一個給定數據框中的某個特定變數。

5.因子

函數 factor() 以一個整數向量的形式存儲類別值,整數的取值範圍是[1...k](其中k是名義型變數中唯一值的個數),同時一個由字元串(原始值)組成的內部向量將映射到這些整數上。

要表示有序型變數,需要為函數 factor() 指定參數 ordered=TRUE 。

數值型變數可以用 levels 和 labels 參數來編碼成因子。如果男性被編碼成1,女性被編碼成2,則以下語句:sex <- factor(sex, levels=c(1, 2), labels=c("Male", "Female"))

6.列表

可以使用函數 list() 創建列表:mylist <- list(object1, object2, ...),其中的對象可以是目前為止講到的任何結構。你還可以為列表中的對象命名:mylist <- list(name1=object1, name2=object2, ...)。

以上都是看書操作練習的代碼,中間出了幾次錯誤,一個字一個字的對照英文拼音看是否有錯,還出現了標點符號沒有用英文符號的錯誤。

7.數據輸入

(1)鍵盤輸入

適合小數據的錄入。

(2)數據導入

接下來是操作數據導入,這裡嘗試了一晚上都沒能把「csv"文件導入,後來去谷歌搜索,看了視頻操作以後,才明白自己哪裡出錯了。

操作到這裡之後,我就開始看猴子老師的LIVE第二講《數據結構入門》

然後就開始跟著猴子老師的操作用Rstudio練習操作代碼。不過,第一時間還是用Rstudio學習csv、xlsx文件,發現比在R中操作要方便很多。

接著就是邊聽課,邊練習:

在練習的過程,還是會犯一些英文輸入錯誤、標點符號沒有注意錄入英文字元。

總結:

1.先看書,再操作練習。

2.寫腳本,方便修改代碼。

3.先自學看書後,再聽課,聽課過程同步練習。

二、實戰作業

作業要求:根據」病例數據「,用合適的數據結構進行數據存儲,以及進行簡單的分析。

結果:創建數據框存儲病人信息,錄入新病人數據和添加性別一列,同時計算病人總人數、1型糖尿病人總數。

新增了兩個新病人的信息,同時錄入了每個病人的性別,得出總病人數是6人,1型糖尿病有3人。

推薦閱讀:

七周成為數據分析師:快速掌握麥肯錫的分析思維
我們做了一款詞雲小工具
《R語言實戰》第六章學習筆記

TAG:数据分析 |