今天学习R 数据类型
向量
向量: vector, 是 R 中最重要的一个概念,它是构成其他数据结构的基础。向量其实是用于存储数值型、字符型或逻辑型数据的一维数组。 R 中的向量与解析几何或者物理学中有数值和方向的量不同, R 中的向量是一个集合,既可以是数值的集合,也可以是字符串或者逻辑值的集合。 其余数据结构都由向量构成。创建向量用函数 c 来创建向量。 c 代表concatenate 连接,也可以理解为收集 collect,或者合并combine。 新手经常犯的错误就是忘了使用 c()函数。
#字符型向量
b <- c("red","green","blue")
#生成连续型向量
d <- rep(c(1,2),5)
class(b) #查看b的数据结构
向量索引
rivers[c(1)] #第一个元素
euro[1:3] #第1-3个元素
euro[-(1:3)] # 除了1-3的元素
euro[c(1,5)] # 第一个和第五个元素
向量计算
x <- runif(10000000,min = 1,max = 100)
length(x) #长度
sum(x) #求和
mean(x) #平均值
a <- 1:5
b <- 10:1
a+1
a*2
a+b
矩阵
矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。向量是一维的,而矩阵是二维的,需要有行和列。 矩阵是 R 语言中使用较多的一种数据结构, 矩阵分为数值矩阵和字符串矩阵,常用的是数据矩阵,基因的表达数据为数值矩阵。 矩阵有两大作用,一个是用来计算相关性,另外可以用来绘制热图。创建矩阵
state.x77
m <- matrix(1:20,nrow = 4,ncol = 5)
rowSums(state.x77)
colMeans(state.x77)
cor(state.x77)
矩阵索引(矩阵属于二位数据,需要给定行列的)
state.x77
state.x77[1,2] #第一行第二列
state.x77[1,] # 第一行
数据框
数据框是一种表格式的数据结构。数据框旨在模拟数据集,与其他统计软件例如 SAS 或者SPSS 中的数据集的概念 一致。数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量。不同的行业对于数据集的行和列叫法不同。 在一个数据框中,每一行的元素个数相同,每一列元素个数也相同,每一列的数据类型一致,都为一个向量,每一行内容还是一个数据框。
利用 data.frame()函数创建数据框。
data.frame()
数据框索引
1. 中括号
2. 名称
3. dollar符
4. 逻辑值
euro[1:3]
euro[-(1:3)]
euro["ATS"]
mtcars[1:4,1:5]
mtcars[c(2,3,4,5)]
mtcars$mpg
mtcars["Mazda RX4",]
alist <- list(euro,iris,mtcars)
alist[1]
alist[[1]]
x <- runif(100,min = 1,max = 100)
x[x>50]
x [x>20 & x <40]
a<-read.table(file="huahua.txt.sep=""\t",header=T)
X<-read.csv('doudou.txt')
colnames(X) #查看列名
rownames(X) #查看行名,默认值的行名就是行号,1.2.3.4...
colnames(X)[1]<-"bioplanet"#有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)#最后row.names的意思是修改第一列为行名
#数据框的导出
write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改为逗号,字符串不加双引号(默认格式带由双引号)
# 变量的保存重新加载
#这次没有处理完的数据下次想接着用怎么办?--学会保存和重新加载。保存的格式是RData。
save.image(file="bioinfoplanet.RData")#保存当前所有变量
save(X,file="test.RData")#保存其中一个变量
load("test.RData")#再次使用RData时的加载命令
因子
所有的数据集合可以分为三类,连续型,名义型和有序型。连续型例如1 2 3 4 5 8 9 10,名义型如 sample1,sample2,sample3 ,而有序型 good better best;周一,周二,周三……等。 在R中名义型变量和有序性变量称为因子, factor。这些分类变量的可能值称为一个水平level,由这些水平值构成的向量就称为因子。 因子主要用于计算频数,可以用来分组。可以通过factor()函数中的labels选项对因子的值进行批量修改。
列表
列表就是一些对象的有序集合。列表中可以存储若干向量、矩阵、数据框,甚至其他列表的组合。