《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 個元素。
數組(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"))
可以使用函數 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:数据分析 |