Day5-蓝色柠檬

2023-11-03 23:18:23 浏览数 (1)

今天进行R中数据结构相关的练习。

摘自【生信星球】的总结,我觉得对于我这种生信小白来说很有帮助,包括一些易错点,以及需要注意的地方。

(1)R的赋值符号不是等号,而是<-(2)在Console 控制台输入命令,相当于Linux的命令行 (3)R的代码都是带括号的,括号必须是英文的。(4)显示工作路径 getwd()(5)向量是由元素组成的,元素可以是数字或者字符串。(6)表格在R语言中改名叫数据框^_^(7)别只复制代码,要理解其中的命令、函数的意思。函数或者命令不会用时,除了百度/谷歌搜索以外,用这个命令查看帮助:?read.table,调出对应的帮助文档,翻到example部分研究一下。 数据类型包括:向量(vector)、矩阵(Matrix)、数组(Array)、数据框(Data frame)、List。其中最重要的为向量和数据库!

一、向量

1.1向量的含义

元素指的是数字或者字符串,而向量表示:多个元素组成的变量;区别于标量(一个元素组成的变量)

使用时,一般都会直接给变量定义,也就是“赋值”,字面意思是赋予这个变量一个数值(其实也不一定是数值,还可以是字符串/数据框等等)。

代码语言:javascript复制
x<- c(11,22,33) #常用的向量写法,意为将x定义为由元素11,22,33组成的向量。
x
x<- 1:6 #从1-6之间所有的整数
x
x<- seq(1,10,by = 0.6) #1-10之间每隔0.6取一个数(注意是逗号不是分号)
x
x<- rep(1:3,times=3) #1-3 重复3次
x

tips:把上面代码都打过了,x就被赋值了4次,结果就被覆盖了,最后x的结果是第四次输入的值。

1.2从向量中提取元素

1.2.1根据元素位置提取元素

代码语言:javascript复制
x[4] #x第4个元素
x[-4]#排除法,除了第4个元素之外剩余的元素
x[2:4]#第2到4个元素
x[-(2:4)]#除了第2-4个元素
x[c(1,5)] #第1个和第5个元素

刚刚x赋值为1 2 3 1 2 3 1 2 3~

1.2.2根据值

代码语言:javascript复制
x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素

二、数据框

今天的练习数据由【生信星球】提供,感谢~从百度网盘下载后直接复制到自己R练习的文件夹下,通过代码直接设取到工作目录

代码语言:javascript复制
setwd("C:/软件/R") #设取到工作目录
dir() #展现工作目录中的内容

问题:已经设取到了工作目录。但是找不到显示在我工作目录中的文件,报错了,不知道哪里出现了问题。

找到原因了,代码修改为read.table(file="huahua.txt", sep="t", header=T),不知道大家是否发现错在了哪里

2.1设置行名和列名

代码语言:javascript复制
X<-read.csv('doudou.txt') #在示例数据里有doudou.txt 注意这里的变量X是一个数据框
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的意思是修改第一列为行名

2.2数据框的导出

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

2.3变量的保存与重新加载

代码语言:javascript复制
#这次没有处理完的数据下次想接着用怎么办?--学会保存和重新加载。保存的格式是RData。
save.image(file="bioinfoplanet.RData")#保存当前所有变量
save(X,file="test.RData")#保存其中一个变量
load("test.RData")#再次使用RData时的加载命令

在这步操作下,工作目录下多了3个文件。

2.4提取元素

代码语言:javascript复制
X[1,1]#第1行第1列
X[3,]#第3行
X[,1]#第1列
X[1] #也是第1列
X[0:1]#第0列到第1列
X[c(0,1)]#第0列和第1列
X$X2#也可以提取列(优秀写法,而且这个命令还优秀到不用写括号的地步,并且支持Tab自动补全哦,不过只能提取一列)

2.5【选修部分】直接使用数据框中的变量

iris是R语言的内置数据,可以直接使用。提取某两列作散点图:

最后练习代码命令的保存与打开,File-save as-命名,之后在工作目录直接用RStudio打开即可。

回答问题:save(X,file="test.RData")如果报错object X not found,是为什么,应该怎么解决?找不到变量X,检查大小写问题,X是否有赋值,如果没有找到,请用X<-某某对X进行赋值。

0 人点赞