生信星球培训第三十七期

学习小组DAY5——数据结构

2020-02-18  本文已影响0人  生信小工厂
DAY5

数据结构

一、向量(vector)

1.标量和向量的区分

标量:一个元素组成的变量
矢量:多个元素组成的变量
(元素:数字或者字符用chr表示。)

例:
标量:1,"chaichai"标量可以是一个数字,或者一个字符串,字符串在使用时必须加引号。
矢量:c(1,2,3),c("chaichai","longlong","fengfeng")依次排列的多个数字或字符串,中间用逗号分隔。

使用时,变量一般都会被赋值,赋值符号是<-

a<- c(2,3,4,5)  #将a定义为由元素2、3、4、5组成的向量
a
b<- 1:10  #从1-10之间所有的整数
b
c<- seq(1,10,by = 0.5)  #1-10之间每隔0.5取一个数(注意符号是逗号)
c
d<- rep(1:3.times = 3)  #1-3重复3次
d

运行实例如图

在哪怎么看变量

2.从向量中提取元素

(1)根据元素位置提取

a[4]  #第四个元素
b[-4]  #排除法,除了第四个元素之外剩余的元素
c[2:4]  #第2到第4个元素
d[-(2:4)]  #除了第2-4个元素
e[c(1,5)]  #第1个和第5个元素

运行实例如图

元素提取
(2)根据元素的值提取
a[a == 10]  #等于10的元素
b[b<7]  #小于7的元素
d[d %in% c(1,2,5)]  #存在于向量c(1,2,5)中的元素

运行实例如图

元素提取

二、数据框(Data frame)

1.读取本地数据

将数据放在工作目录中

read.table(file = "文件名",sep = "\t",header = T)  #读取文件,分隔符为Tab,有表头。
a<-read.table(file = "文件名",sep = "\t",header = T)  #把这个数据框赋给一个变量
X<-read.csv('文件名')  

运行实例如图

读取本地数据

2.设置行名和列名

X<-read.csv('文件名')  #这里的变量X是一个数据框
colnames(X)  #查看列名
rownames(X)  #查看列名,默认值的行名就是行号,1.2.3.4...
colnames(X) [1]<-"bioplanet"  #有的公司返回数据,左上角第一格为空,R会自动补位x,用这个命令来修改
X<-read.csv(file = "文件名",sep = "\t",header = T,row.names=1)  #最后这个row.names的意思是修改第一行为列名

运行实例如图

运行实例

3.数据框的导出

write.table(X,file = "文件名",seq = ",",quote=F  #分隔符改为逗号,字符串不加双引号(默认格式带有双引号)

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

save.image(file = "文件名.RData")  #保存当前所有变量
ssave(frame1,file = "frame1.RData")  #保存其中一个变量
load("frame1.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自动补全,只能提取一列)

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

方法1:attach
将数据框名添加到搜索环境中:attach(a),作图时就只需输入列名(连$都不用了)。

attach(a)
plot(case,values)

做完后将a删除出搜索环境。

detach(a)

局限性:两个以上数据框的列名有冲突时,同时attach会报错。
运行实例如图

运行实例

方法2:with

with(a,{
  plot(case,values)
x<<-summary(values)  ##求和并赋值给x,<<的意思是作为全局变量,y也就是出了大括号仍有效。
})
x  #运行完后打印x

运行实例如图

运行实例
上一篇 下一篇

猜你喜欢

热点阅读