继续我们的R语言基础学习!
今天要学习的是R中的数据类型
在这些数据类型中,向量和数据框对于生信学习者来说较为重要。
元素:指数字或者字符串(用chr表示)等,根据它可以区分两个词:标量与向量。
标量:一个元素组成的变量
向量:多个元素组成的变量
使用字符串时,必须使用引号哦""
一个向量是一排有序排列的元素。使用时,一般都会直接给变量定义,也就是“赋值”即赋予变量一个数值 <-
x<- c(1,2,3) #常用的向量写法,意为将x定义为由元素1,2,3组成的向量。
x<- 1:10 #从1-10之间所有的整数
x<- seq(1,10,by = 0.5) #1-10之间每隔0.5取一个数(注意是逗号不是分号)
x<- rep(1:3,times=2) #1-3 重复2次
重复以上操作,最后x会被赋值为最后的一次操作
1.根据元素位置
x<- 1:10 #从1-10之间所有的整数
x[4] #x第4个元素
x[-4] #排除法,除了第4个元素之外剩余的元素
x[2:4] #第2到4个元素
x[-(2:4)] #除了第2-4个元素
x[c(1,5)] #第1个和第5个元素
2.根据值
x[x==10]#等于10的元素
x[x<5] #小于5的元素
x[x %in% c(1,2,5)] #存在于向量c(1,2,5)中的元素
1.示例数据准备
在工作目录下新建一个excel,取名为example并保存为csv格式,内容如下
千万不要直接另存为csv格式!!!不然你会遇到以下乱码的
2.常用操作
读取数据常用read.table read.csv等函数,我们通过 ?命令 查看其帮助文档
参数很多,我们对其进行简化,列出常用参数
read.table(file, header = FALSE, sep ="", quote = "\"'",
dec = ".", skip = 0,
strip.white = FALSE, blank.lines.skip =TRUE,
comment.char = "#")
1)file 表示要读取的文件,是一个带分隔符的ASCII文本文件
2)header 用来确定数据文件中第一行是不是标题
header=T # 第一行是标题
header=F # 第一行不是标题
3)sep 表示分开数据的分隔符
不同函数默认分隔符不同,如read.table的默认分隔符是空格,而read.csv的默认分隔符是逗号
read.table()函数可以将1个或多个空格、tab制表符、换行符或回车符作为分隔符
4)quote 用于对有特殊字符的字符串划定接线的字符串
5)dec 用于指明数据文件中小数的小数点
6)row.names 保存行名的向量
以向量的形式给出每行的行名,或读取表中包含行名称的列序号
df <- read.csv('example.csv',row.names = 'GeneID')
7)col.names 指定列名的向量
缺省情况下是由"V"加上列序构成,即V1,V2,V3等
另外可以通过rownames()和colnames()查看行名和列名
8)数据框的导出
write.table(x,file ="",quote = T, sep = "")
9)变量的保存与重新加载
如果本次数据没用完,想下次再次使用
save.image(file="all.RData") #保存当前所有变量
save(X,file="a.RData") #保存变量X并命名为a.RData
load("a.RData") #加载a.RData
10)提取元素
X[x,y] #第x行第y列
X[x,] #第x行
X[,y] #第y列
X[y] #第y列
X[a:b] #第a列到第b列
X[c(a,b)] #第a列和第b列
X$列名 #提取列
报错
我在使用read.table读取数据的时候出现了以下报错
查询了一下发现是图中红框的部分是没有数据的,如果使用csv程序会采用NA补全,而table不会
写在最后
磨磨唧唧终于是把R语言基础的数据结构部分给发出来啦,虽然R语言基础的第三期还没写好,但是!!!第四期已经写好啦!!
时刻准备着!!