生信星球Day3 数据结构

2023-07-20 13:21:13 浏览数 (1)

今日学习内容:

  1. 什么是向量?如何赋值和实际运用?
  2. 什么是数据框?如何使用?
  3. 中途有事离开,怎么保存数据并且下一次重新加载?
  4. 问题:如果save(X,file="test.RData")报错的话,怎么办?

向量

向量(vector),是由多个元素组成的集合,且所有元素必须是同一类型。

用c()来创建,如c(1,2,3)。

赋值和修改

赋值<-是给变量下定义,指明这是个啥东西;

修改就是再一次赋值,多次赋值以最后一次为准。

从向量中提取元素

  1. 根据位置
代码语言:txt复制
x<- c(1,2,4,5,6,7,9)
x[2:4]  #取第2到4个元素
x[-(2:4)]  #取反,除了第2-4个元素之外
x[c(2,4)]  #取第2和第4个元素
  1. 根据逻辑判断 除了==,<,>之外,还可以用%in%。
代码语言:txt复制
a[a%in%b]  #左边向量的元素是否在右边向量中,返回布尔值
a[a %in% b]  #根据TRUE取
a[!(a %in% b)]  #根据FALSE取

关于%in%的更多用法:https://blog.csdn.net/dege857/article/details/123344362

数据框

数据框(Data frame),是二维表格。

赋值:从文件中读取

read.table() #从文件中读取数据,sep表示文件中的分隔符,header表示第一行是否为标题行

read.csv() #读取文件,默认sep为",",header为T

代码语言:txt复制
X<-read.csv('doudou.txt')  
colnames(X)  #查看列名
rownames(X)  #查看行名,默认值的行名就是行号
colnames(X)[1]<-"bioplanet"  #有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改
X<-read.csv(file = "huahua.txt",sep="	",header=T,row.names=1)  #重新赋值X,最后row.names的意思是修改第一列为行名

从数据框中提取元素

代码语言:txt复制
X[x,y]  #第x行第y列
X[x,]  #第x行,注意逗号前为行,逗号后或无逗号为列
X[,y]  #第y列,等同于X[y] 
X[a:b]  #第a列到第b列
X[c(a,b)]  #第a列和第b列
X$列名  #也可以提取列,但只能提取一列

导出数据框

代码语言:txt复制
write.table(X,file="yu.txt",sep=",",quote=F)  #quote表示字符串不加双引号(默认是加的)

变量的保存与重新加载

文件格式:RData

代码语言:txt复制
save.image(file="文件名.RData")  #保存当前所有变量
save(X,file="test.RData")  #保存其中一个变量
load("test.RData")  #再次使用RData时的加载命令

其他

函数

?函数名 #获取帮助文档

seq() #从起点到终点取值,可设置步长by,或设置length.out返回值的长度

rep(x,…) #x的重复次数

解决问题

save(X,file="test.RData")这句代码如果报错object X not found,是为什么,应该怎么解决?

答:要保存的对象X没有赋值,显示为不存在。所以检查赋值X<-的命令是否运行了。

0 人点赞