前面給大家講過?如何查看R自帶函數(shù)源代碼,那么如何查看一個(gè)R函數(shù)的使用方法和例子呢?其實(shí)也很簡(jiǎn)單,我個(gè)人比較常用也比較推薦的方法是
?+函數(shù)名字
我們結(jié)合常用的R函數(shù),read.table來舉個(gè)例子
首先我們來看看read.table的使用方法,
?read.table

感興趣的可以仔細(xì)去閱讀一下,read.table這個(gè)函數(shù)的使用方法。今天我們主要給大家介紹幾個(gè)比較實(shí)用的小技巧。
1.comment.char參數(shù)的使用
這個(gè)參數(shù)是什么意思呢?就是如果你設(shè)置了這個(gè)參數(shù),一般是一個(gè)字符串,那么R讀文件的時(shí)候,會(huì)自動(dòng)跳過所有以這個(gè)字符串開始的行。下面我們來具體的看一個(gè)例子。假設(shè)我想讀下面這個(gè)文件test1.txt里面的內(nèi)容。

這個(gè)文件的前五行都是注釋,是以"#"開始的。
一般比較傳統(tǒng)的做法,可能是通過skip跳過這5行。
a=read.table("test1.txt",skip = 5,header=T,sep="\t")
a

這個(gè)方法可以實(shí)現(xiàn)我們想要的效果,但是不太靈活。每一次你都要去數(shù)應(yīng)該跳過幾行。如果另外一個(gè)文件前面不是5行注釋,那么還需要修改代碼。
接下來我們看看comment.char這個(gè)參數(shù)
b=read.table("test1.txt",comment.char = "#",header=T,sep="\t")
b

可以看到結(jié)果跟上面skip方法得到的是一樣的,但是這個(gè)方法普適性更強(qiáng)一些,無論你的文件前面有多少行注釋,只要是以"#"開始,那么都會(huì)被跳過去。
2.stringsAsFactors參數(shù)的使用
這個(gè)參數(shù)主要控制讀入的字符串向量是否需要被轉(zhuǎn)換成因子。一般默認(rèn)情況下字符串會(huì)被轉(zhuǎn)換成因子。
b=read.table("test1.txt",comment.char = "#",header=T,sep="\t")
b$gene

如果不想讓字符串轉(zhuǎn)換成因子,那么我們可以將stringsAsFactors設(shè)置成False
b=read.table("test1.txt",comment.char = "#",header=T,sep="\t",stringsAsFactors = F)
b$gene

3.check.names參數(shù)的使用
默認(rèn)情況下這個(gè)參數(shù)check.names = TRUE,這個(gè)參數(shù)主要是檢查數(shù)據(jù)的列名,保證列名合法有效。
假設(shè)我們有下面這個(gè)文件test2.txt,如果我們把第一行作為列名用read.table讀到R里面,會(huì)出現(xiàn)什么情況?

a=read.table("test2.txt",header=T,sep="\t")
a
你會(huì)發(fā)現(xiàn),列名前面自動(dòng)加上了X,因?yàn)槲覀冎涝赗里面一般變量名不能是數(shù)字,也不能以數(shù)字開頭。如果想保留原來的列名,可以使用check.names = F。

a=read.table("test2.txt",header=T,sep="\t",check.names = F)
a

4.fill參數(shù)的使用
有時(shí)候我們讀入的文件,可能某些行缺少一些值,跟其他行的長度不一樣。如果我們直接用read.table去讀,可能會(huì)報(bào)錯(cuò)。
假設(shè)我們有下面這個(gè)文件test3.txt


這時(shí)如果設(shè)置fill=T,將會(huì)自動(dòng)把缺失的值用NA補(bǔ)齊。
a=read.table("test3.txt",header=T,sep="\t",fill=T)
a
