生信星球学习小组Day5-数据结构 Jerry

2023-08-11 15:08:18 浏览数 (1)

今天是学习小组学习的第5天,主要是学习了解R语言的数据结构

1. 新手笔记

R语言赋值符号是<-

R代码带英文括号

函数getwd()获取工作路径

R语言的向量数据结构由元素构成,元素可以是数字或字符串

我们熟悉的表格在R语言的数据结构是数据框

?加上函数可以查看相关的帮助文档

R语言的常用数据类型: 向量、矩阵、数组、数据框和列表

其中向量和数据框是重点

2. 向量

a. 向量的定义和构建

标量是由一个元素组成的变量;而向量则由多个元素组成

使用向量一般给变量赋值;向量有以下四种创建方式

代码语言:txt复制
x<- c(1,2,3)  #最常用,c创建几个元素构成的向量
x<- 1:10  #:构建从1-10之间所有的整数
x<- seq(1,10,by = 0.5) #构建从1-10之间所有的整数,步长0.5
x<- rep(1:3,times=2) #重复两次1到3的整数

b. 从向量中提取元素

(1)根据元素位置

代码语言:txt复制
x[4]  #提取第4个元素
x[-4]  #去除第4个元素
x[2:4]  #提取第2到4个元素
x[-(2:4)]  #去除第2-4个元素
x[c(1,5)]  #提取第1个和第5个元素

(2) 根据逻辑值

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

3. 数据框

tip:运行项目时需要将文件放置于工作目录下;R中严格区分大小写;改错变量可以重新赋值覆盖;可以使用并保存脚本文件,文件格式为R

a. 读取本地数据

代码语言:txt复制
a <- read.table(file = 'huahua.txt', sep = 't',header = T) #read.table函数读取文件,sep表示分隔符,header指示文件是否包含变量的名称作为其第一行

b. 设置行名和列名

代码语言:txt复制
colnames(X)  #查看列名
rownames(X)  #查看行名,默认值行名是行号
colnames(X)[1]<-"bioplanet" #如果左上角第一格为空,R会自动补为x,可以用这个命令来修改
X<-read.csv(file = "huahua.txt",sep = "	",header =T,row.names=1) #row.names的意思是第一列作为行名

c. 导出数据框

代码语言:txt复制
write.table(X,file = "yu.txt",sep = ",",quote=F) #write.table导出,分隔符改为逗号,quote设置字符串不加双引号

d. 保存变量和重新加载

代码语言:txt复制
#保存变量和重新加载可以让没有处理完的数据下次想接着用,保存格式时RData
save.image(file="bioinfoplanet.RData")  #保存当前所有变量
save(X,file="test.RData")  #保存其中一个变量
load("test.RData")  #加载RData,导入保存的变量

e. 提取元素

代码语言:txt复制
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补齐,但只能获取一列

f. 直接使用数据框变量

代码语言:txt复制
plot(iris$Sepal.Length,iris$Sepal.Width) #iris是R中的一个内置数据集数据框,可以直接使用,提取其中两列作散点图

save(X,file="test.RData")如果代码报错object X not found,说明X不存在,R找不到这个对象,需要建立X这个变量给他赋值

代码示例来自微信公众号生信星球

0 人点赞