學(xué)會(huì)獲取一個(gè)包的小抄
方法1:去百度/谷歌XX小抄
方法2:找Rstudio的cheatsheet網(wǎng)站(網(wǎng)速好慢的)
一耸序,新建數(shù)據(jù)框
a<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18))
這行代碼中的函數(shù)
rep,重復(fù),括號(hào)中填要重復(fù)的字符和重復(fù)次數(shù)。
paste,連接兩個(gè)字符串蛋褥,括號(hào)要填兩個(gè)代連接字符并指定分隔符(sep),沒(méi)有分隔符就填sep=“”
了解概念:
key-value--“鍵值對(duì)”睛驳,表示一種對(duì)應(yīng)關(guān)系烙心。“鍵”和“值”都是列名乏沸,如SampleName和Expression的對(duì)應(yīng)弃理。
二、認(rèn)識(shí)Tidy Data(整齊數(shù)據(jù))
比如原數(shù)據(jù)
改變?yōu)?/strong>
后者是一種能夠跨包使用的“統(tǒng)一”的數(shù)據(jù)格式
三屎蜓、Tidyr函數(shù)中的gather和spread
gather函數(shù)使圖一生成圖二,spread相反
復(fù)現(xiàn)小抄
生成數(shù)據(jù)框a<data.frame(country=c("A","B","C"),"1999"=paste(c(0.7,37,212),"k"),"2000"=paste(c(2,80,213),"k"))
因?yàn)榱忻菙?shù)字钥勋,所以要在1999和2000上加雙引號(hào)炬转,否則會(huì)報(bào)錯(cuò)
結(jié)果顯示出來(lái)是X1999和X2000(顯示表格的時(shí)候,會(huì)自動(dòng)在數(shù)字列名前面加上個(gè)x(大寫(xiě)的))故寫(xiě)列名的時(shí)候就不能按照小抄上面寫(xiě)
需要
gather括號(hào)里的分別是:
數(shù)據(jù)框名算灸,需合并的列名(兩個(gè))扼劈,合并后的key列名,value列名菲驴。
其中荐吵,需合并的列名也可以列在最后(其實(shí)個(gè)順序才是默認(rèn)的),key=和value=也可以省略(我愛(ài)偷懶)赊瞬,如果按照上面小抄的命令括號(hào)里那個(gè)順序先煎,省略了就會(huì)報(bào)錯(cuò)。
其中巧涧,合并前的列名如果比較多薯蝎,可以用排除法來(lái)偷懶,在上圖例子中可用
四谤绳、處理缺失值
三種處理方式:
(1).刪除整行
(2).根據(jù)上下文(瞎)蒙一個(gè)
(3).同一列的空值填上同一個(gè)數(shù)占锯。
drop_na():有空值的袒哥,整行刪除掉
括號(hào)里填數(shù)據(jù)框名,依據(jù)的列名
drop_na(X,X2)
fill()消略,根據(jù)上一行的數(shù)值填充上
fill(X,X2)
replace_na()堡称,空值填進(jìn)去特定的一個(gè)數(shù)值
括號(hào)里填數(shù)據(jù)框名,要填的列名=要填的值
replace_na(X,list(X2=2))
五艺演、分割
把一列拆成兩列却紧。
separate
:按列分割
separate_rows
:按行分割
unite
:分割完了再合并回去
舉例
分隔符可以自己設(shè)定是什么,但必須要有