Day5-数据结构
一、数据类型
- 向量(vector)
- 矩阵(Matrix)
- 数组(Array)
- 数据框(Data frame)
- List
Tips:
- 向量是由元素组成的,元素可以是数字或者字符串(用chr表示)。
- 表格在R语言中改名叫数据框。
- 用
?read.table
可调出对应命令的帮助文档。
二、向量
1.向量和标量区分
标量:一个元素组成的变量。
向量:多个元素有序排列组成的变量。
- 一般会给变量“赋值”:
<-
每次定义新的赋值会覆盖旧的赋值。
> x <- c(1,2,3)
> x
[1] 1 2 3
> x <- (1:10)
> x
[1] 1 2 3 4 5 6 7 8 9 10
> x <- seq(1,10,by = 0.5)
> x
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5
[11] 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0
> x <- rep(1:3,times = 2)
> x
[1] 1 2 3 1 2 3
2.从向量中提取元素
- 根据元素位置
> x <- c(1:5)
> x[4]
[1] 4
> x[-4]
[1] 1 2 3 5
> x[2:4]
[1] 2 3 4
> x[-(2:4)]
[1] 1 5
> x[c(1,5)]
[1] 1 5
- 根据值
> x <- c(1:10)
> x[x==10]
[1] 10
> x <- (-5:6)
> x[x<0]
[1] -5 -4 -3 -2 -1
> x[x %in% c(-1,2,5)]
[1] -1 2 5
3.数据框
- 示例数据放在工作目录中
> X<-read.csv('Moore-1.txt')
> X
X1 X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
- 读取本地数据
> read.table(file = "huahua.txt",sep = "\t",header =T)
X1 X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
> a <- read.table(file = "huahua.txt",sep = "\t",header = T)
- 设置行名和列名
> X<-read.csv('doudou.txt')
> colnames(X)
[1] "X1" "X2"
> rownames(X)
[1] "1" "2" "3" "4" "5"
> colnames(X)[1]<-"bioplanet"
> X
bioplanet X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
> colnames(X)[2]<-"Moore"
> X
bioplanet Moore
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
> X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)
> X
X2
A 1
B NA
C NA
D 3
E NA
- 数据框的导出
write.table(X,file = "yu.txt",sep = ",",quote=F)
- 变量的保存与重新加载
> save.image(file="bioinfoplanet.RData")
> save(X,file="test.RData")
> load("test.RData")
- 提取元素
- 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$列名#也可以提取列(不过只能提取一列)
> X<-read.csv('doudou.txt')
> X[1,2]
[1] 1
> load("E:/妞儿の文件夹/R/bioinformatics/test.RData")
> X[2,]
X1 X2
2 B NA
4.课后作业
- 问:
save(X,file="test.RData")
这句代码如果报错object X not found
,是为什么,应该怎么解决? - 答:“x”显示不存在,可能需改为X,因为大小写是严格区分的。
5. 思维导图
以上。