前面给大家讲过☞如何查看R自带函数源代码,那么如何查看一个R函数的使用方法和例子呢?其实也很简单,我个人比较常用也比较推荐的方法是
?+函数名字
我们结合常用的R函数,read.table来举个例子
首先我们来看看read.table的使用方法,
?read.table
感兴趣的可以仔细去阅读一下,read.table这个函数的使用方法。今天我们主要给大家介绍几个比较实用的小技巧。
1.comment.char参数的使用
这个参数是什么意思呢?就是如果你设置了这个参数,一般是一个字符串,那么R读文件的时候,会自动跳过所有以这个字符串开始的行。下面我们来具体的看一个例子。假设我想读下面这个文件test1.txt里面的内容。
这个文件的前五行都是注释,是以"#"开始的。
一般比较传统的做法,可能是通过skip跳过这5行。
a=read.table("test1.txt",skip = 5,header=T,sep="\t")
a
这个方法可以实现我们想要的效果,但是不太灵活。每一次你都要去数应该跳过几行。如果另外一个文件前面不是5行注释,那么还需要修改代码。
接下来我们看看comment.char这个参数
b=read.table("test1.txt",comment.char = "#",header=T,sep="\t")
b
可以看到结果跟上面skip方法得到的是一样的,但是这个方法普适性更强一些,无论你的文件前面有多少行注释,只要是以"#"开始,那么都会被跳过去。
2.stringsAsFactors参数的使用
这个参数主要控制读入的字符串向量是否需要被转换成因子。一般默认情况下字符串会被转换成因子。
b=read.table("test1.txt",comment.char = "#",header=T,sep="\t")
b$gene
如果不想让字符串转换成因子,那么我们可以将stringsAsFactors设置成False
b=read.table("test1.txt",comment.char = "#",header=T,sep="\t",stringsAsFactors = F)
b$gene
3.check.names参数的使用
默认情况下这个参数check.names = TRUE,这个参数主要是检查数据的列名,保证列名合法有效。
假设我们有下面这个文件test2.txt,如果我们把第一行作为列名用read.table读到R里面,会出现什么情况?
a=read.table("test2.txt",header=T,sep="\t")
a
你会发现,列名前面自动加上了X,因为我们知道在R里面一般变量名不能是数字,也不能以数字开头。如果想保留原来的列名,可以使用check.names = F。
a=read.table("test2.txt",header=T,sep="\t",check.names = F)
a
4.fill参数的使用
有时候我们读入的文件,可能某些行缺少一些值,跟其他行的长度不一样。如果我们直接用read.table去读,可能会报错。
假设我们有下面这个文件test3.txt
这时如果设置fill=T,将会自动把缺失的值用NA补齐。
a=read.table("test3.txt",header=T,sep="\t",fill=T)
a