学习小组Day05 山海 数据结构

0.jpg

1. 数据类型:向量、矩阵、数组、数据框、list

1.1. 向量

(1) 元素是指数字或者字符串(用chr表示);标量是一个元素组成的变量;向量是多个元素组成的变量。
标量:1“shanhai”;向量:c(1,2,3)c(“bio01”,“bio02”,“bio03”)

(2) 赋值:x<- c(1,2,3) 将x定义为由元素1,2,3组成的向量;x<- 1:10 从1-10之间的所有整数;x<- seq(1,10,by=0.5) 1-10间每隔0.5取一个数;x<- rep(1:3,times=2) 1-3间的整数,重复2次

(3) 从向量中提取元素
①根据元素位置提取元素: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] 小于0的元素;x[x %in% c(1,2,5)] 存在于向量c(1,2,5)中的元素

1.2. 数据框

(1) 读取本地数据:read.table(file = "huahua.txt" ,sep = "\t" , header =T)
sep 是函数的形式参数,多数情况下, seq 参数用来指定字符的分隔符号。csv 文件是用逗号分隔的,故而 sep = ",";tsv 文件是用制表符分隔的,故而 sep = "\t"
header=T目的为把第一行设置为表头

(2) 设置行名和列名:
X<-read.csv('doudou.txt')colnames(X) 查看列名;rownames(X) 查看行名,默认值的行名就是行号,1.2.3.4...;

image

colnames(X)[1]<-"bioplanet" 有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改;
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1) 最后row.names的意思是修改第一列为行名;
(下图为运行前后对比)
image

image

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

(4) 变量的保存与重新加载: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$列名 提取某一列

(6) 直接使用数据框中的变量:plot(iris$Sepal.Length,iris$Sepal.Width) 用R语言的内置数据集iris作图

问题:save(X,file="test.RData")这句代码如果报错object X not found,是为什么,应该怎么解决?
原因:未发现X这个变量,X未赋值,可能是把X打成了小写x
解决:给X进行赋值即可

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容