今日学习内容:
- 什么是向量?如何赋值和实际运用?
- 什么是数据框?如何使用?
- 中途有事离开,怎么保存数据并且下一次重新加载?
- 问题:如果save(X,file="test.RData")报错的话,怎么办?
向量
向量(vector),是由多个元素组成的集合,且所有元素必须是同一类型。
用c()来创建,如c(1,2,3)。
赋值和修改
赋值<-是给变量下定义,指明这是个啥东西;
修改就是再一次赋值,多次赋值以最后一次为准。
从向量中提取元素
- 根据位置
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个元素
- 根据逻辑判断 除了==,<,>之外,还可以用%in%。
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
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<-的命令是否运行了。