一绿店、學(xué)習(xí)筆記
1.向量
向量是用于存儲(chǔ)數(shù)值型轧邪、字符型或邏輯型數(shù)據(jù)的一維數(shù)組叼耙。執(zhí)行組合功能的函數(shù) c() 可用來(lái)創(chuàng)建向量。例如:a <- c(1, 2, 5, 3, 6, -2, 4)
其中怒坯,a[c(2,4,6)]是指在向量a中第2,4,6個(gè)數(shù)值炫狱。
2.矩陣
矩陣是一個(gè)二維數(shù)組,只是每個(gè)元素都擁有相同的模式(數(shù)值型剔猿、字符型或邏輯型)毕荐。可通過(guò)函數(shù) matrix() 創(chuàng)建矩陣艳馒。
一般使用格式為:
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 用以指定行和列的維數(shù), dimnames 包含了可選的弄慰、以字符型向量表示的行名和列名第美。選項(xiàng) byrow 則表明矩陣應(yīng)當(dāng)按行填充(byrow=TRUE),還是按列填充( byrow=FALSE )陆爽,默認(rèn)情況下按列填充什往。
這是將矩陣元素按行填充。
在這里慌闭,是按列填充别威。
X[i,] 指矩陣 X 中的第i行, X[,j]指第j列驴剔, X[i, j] 指第i行第j 個(gè)元素省古。
3.數(shù)組
數(shù)組(array)與矩陣類似,但是維度可以大于2丧失。數(shù)組可通過(guò) array 函數(shù)創(chuàng)建豺妓,形式如下:myarray <- array(vector, dimensions, dimnames)
其中 vector 包含了數(shù)組中的數(shù)據(jù), dimensions 是一個(gè)數(shù)值型向量布讹,給出了各個(gè)維度下標(biāo)的最大值琳拭,而 dimnames 是可選的、各維度名稱標(biāo)簽的列表描验。
從數(shù)組中選取元素的方式與矩陣相同白嘁。
所以,z[1,2,4]對(duì)應(yīng)的數(shù)值為21膘流。
4.數(shù)據(jù)框
數(shù)據(jù)框可通過(guò)函數(shù) data.frame() 創(chuàng)建:mydata <- data.frame(col1, col2, col3,...)絮缅,其中的列向量 col1 、 col2 睡扬、 col3 等可為任何類型(如字符型盟蚣、數(shù)值型或邏輯型)。每一列的名稱可由函數(shù) names 指定卖怜。
可以使用前述(如矩陣中的)下標(biāo)記號(hào)屎开,亦可直接指定列名。
patientdata[1:2]是指數(shù)據(jù)框中的第一马靠、二列奄抽,也就是用下標(biāo)記號(hào)指出需要的列∷“diabetes”和“status”是列名逞度,通過(guò)列名篩選所需的列。第三種方式是用“$”完成妙啃,它被用來(lái)選取一個(gè)給定數(shù)據(jù)框中的某個(gè)特定變量档泽。
5.因子
函數(shù) factor() 以一個(gè)整數(shù)向量的形式存儲(chǔ)類別值俊戳,整數(shù)的取值范圍是[1...k](其中k是名義型變量中唯一值的個(gè)數(shù)),同時(shí)一個(gè)由字符串(原始值)組成的內(nèi)部向量將映射到這些整數(shù)上馆匿。要表示有序型變量抑胎,需要為函數(shù) factor() 指定參數(shù) ordered=TRUE 。
數(shù)值型變量可以用 levels 和 labels 參數(shù)來(lái)編碼成因子渐北。如果男性被編碼成1阿逃,女性被編碼成2,則以下語(yǔ)句:sex <- factor(sex, levels=c(1, 2), labels=c("Male", "Female"))
6.列表
可以使用函數(shù) list() 創(chuàng)建列表:mylist <- list(object1, object2, ...)赃蛛,其中的對(duì)象可以是目前為止講到的任何結(jié)構(gòu)恃锉。你還可以為列表中的對(duì)象命名:mylist <- list(name1=object1, name2=object2, ...)。
以上都是看書(shū)操作練習(xí)的代碼呕臂,中間出了幾次錯(cuò)誤破托,一個(gè)字一個(gè)字的對(duì)照英文拼音看是否有錯(cuò),還出現(xiàn)了標(biāo)點(diǎn)符號(hào)沒(méi)有用英文符號(hào)的錯(cuò)誤诵闭。
7.數(shù)據(jù)輸入
(1)鍵盤(pán)輸入
適合小數(shù)據(jù)的錄入炼团。
(2)數(shù)據(jù)導(dǎo)入
接下來(lái)是操作數(shù)據(jù)導(dǎo)入,這里嘗試了一晚上都沒(méi)能把“csv"文件導(dǎo)入疏尿,后來(lái)去谷歌搜索瘟芝,看了視頻操作以后,才明白自己哪里出錯(cuò)了褥琐。
操作到這里之后锌俱,我就開(kāi)始看猴子老師的LIVE第二講《數(shù)據(jù)結(jié)構(gòu)入門(mén)》
然后就開(kāi)始跟著猴子老師的操作用Rstudio練習(xí)操作代碼。不過(guò)敌呈,第一時(shí)間還是用Rstudio學(xué)習(xí)csv贸宏、xlsx文件,發(fā)現(xiàn)比在R中操作要方便很多磕洪。
接著就是邊聽(tīng)課吭练,邊練習(xí):
在練習(xí)的過(guò)程,還是會(huì)犯一些英文輸入錯(cuò)誤析显、標(biāo)點(diǎn)符號(hào)沒(méi)有注意錄入英文字符鲫咽。
總結(jié):
1.先看書(shū),再操作練習(xí)谷异。
2.寫(xiě)腳本分尸,方便修改代碼。
3.先自學(xué)看書(shū)后歹嘹,再聽(tīng)課箩绍,聽(tīng)課過(guò)程同步練習(xí)。
二尺上、實(shí)戰(zhàn)作業(yè)
作業(yè)要求:根據(jù)”病例數(shù)據(jù)“材蛛,用合適的數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)存儲(chǔ)圆到,以及進(jìn)行簡(jiǎn)單的分析。
結(jié)果:創(chuàng)建數(shù)據(jù)框存儲(chǔ)病人信息仰税,錄入新病人數(shù)據(jù)和添加性別一列构资,同時(shí)計(jì)算病人總?cè)藬?shù)、1型糖尿病人總數(shù)陨簇。
新增了兩個(gè)新病人的信息,同時(shí)錄入了每個(gè)病人的性別迹淌,得出總病人數(shù)是6人河绽,1型糖尿病有3人。