生信星球学习小组第37期 day5 chen

Day5 R语言初上手 续 2020-2-18

思维导图——R语言初上手 续

1. 向量

1) 向量 vs. 标量

元素:数字或者字符串(用chr表示)等
标量:一个元素组成的变量
向量:多个元素组成的变量 (可作为数据框的一列)

来自生信星球

2) 从向量中提取元素

a. 根据元素位置

来自生信星球

b. 根据值

来自生信星球

2. 数据框

1) 读取本地数据

⚠️将数据放在工作目录下,否则报错!

read.table(file = "name.txt",sep = " ",header =T) #读取文件,分隔符为Tab,有表头
【无需赋值,可直接将数据框内容打印到屏幕上】
a<-read.table(file = "name.txt",sep = "\\t",header =T)#把这个数据框赋给一个变量a
【sep:分隔符,header:表头】

2) 设置行名和列名

X<-read.csv('name.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的意思是修改第一列为行名】

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$列名 #也可以提取列(优秀写法,不过只能提取一列)

附上练习(手打能帮助理解含义)

练习

练习

6) 直接使用数据框中的变量

提取某两列作散点图:
一般操作:

a <-data.frame(case=paste("S",c(1:50)),values=runif(50)) plot(a$case,a$values)
【case和values是两个单纯的列名;数据框名a在代码中重复出现,较长时比较麻烦】

更便捷的操作:

  • attach

将数据框名添加到搜索环境中:attach(a),作图时就只需输入列名(连$都不用了)。
attach(a)
plot(case,values)
做完后将a删除出搜索环境 detach(a)
【局限性:两个以上数据框的列名有冲突时,同时attach会报错。】

  • with

来自生信星球

➡️【先理解with(a,{plot(case,values)})

➡️【尝试脚本的书写与保存】
将上面的代码手打到一个新的R脚本中,然后保存到工作目录下,脚本文件的后缀就是R,用时直接打开就好。
练习

attach与with练习
散点图

小作业

问题:save(X,file="test.RData")这句代码如果报错X not found,是为什么,应该怎么解决?
:当前环境下没有定义X这个变量,所以无法保存。

你可能感兴趣的:(生信星球学习小组第37期 day5 chen)