2020-11-03DAY5-添添-数据结构

1、向量

1)标量和向量的区分

元素:数字或者字符串(用chr表示)等。
标量:一个元素组成的变量。
向量:多个(有序排列)元素组成的变量。
x<- c(1,2,3) :将x定义为由元素1,2,3组成的向量。
x<- 1:10 :将x定义为从1-10之间所有的整数
x<- seq(1,10,by = 0.5):将x定义为1-10之间每隔0.5取一个数(注意是逗号不是分号)
x<- rep(1:3,times=2):将x定义为1-3 重复2次

新手tips:
如果把这几行代码都打过了,那么x就被赋值了4次,结果就是第一次赋值被第二次的覆盖了,第二次的赋值又被第三次的覆盖了,以此类推,以最后一次为准。

2)从向量中提取元素

①根据元素位置
x[4]:x第4个元素
x[-4]:排除法,除了第4个元素之外剩余的元素
x[2:4]:第2到4个元素
x[-(2:4)]:除了第2-4个元素
x[c(1,5)] :第1个和第5个元素
②根据元素的值
x[x==10]:等于10的元素
x[x<0]
x[x %in% c(1,2,5)]:x是否是向量c(1,2,5)中的元素
(如果是,会显示x的值,如果不是,会显示0,意思就是没有)

2、数据框

现先在后台回复数据类型,下载两个txt,放到工作目录下

1)读取本地数据

read.table(file="huahua.txt",sep="\t",header=T)
a<-read.table(file="huahua.txt",sep="\t",header=T)
header 是否有列名(默认无)
seqp指定分隔符(空格、TAB、换行符、回车符)
sep="\t":指定分隔符(空格、TAB、换行符、回车符)TAB
quote 制定包围字符型数据的字符。
关于read.table的用法:(https://www.cnblogs.com/steamed-bread/p/5560641.html)

2)设置行名和列名

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的意思是修改第一列为行名
(修改前是是这样的

image.png

修改后
image.png

问题:read.table和read.csv的区别

3)数据框的导出

write.table(X,file = "yu.txt",sep = ",",quote=F):分隔符改为逗号,字符串不加双引号(默认格式带由双引号)

4)变量的保存与重新加载

保存的格式是RData
save.image(file="bioinfoplanet.RData"):保存当前所有变量
save(X,file="test.RData"):保存其中一个变量
load("test.RData"):再次使用RData时的加载命令

5)提取元素

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$列名:也可以提取列(支持Tab自动补全哦,不过只能提取一列)

课后问题:

save(X,file="test.RData")这句代码如果报错object X not found,是为什么,应该怎么解决?
回答:之前的变量名是小写的

你可能感兴趣的:(2020-11-03DAY5-添添-数据结构)