专栏名称: 生信技能树
生物信息学学习资料分析,常见数据格式及公共数据库资料分享。常见分析软件及流程,基因检测及癌症相关动态。
目录
相关文章推荐
每天发现一家店  ·  这 12 件衣服,从质疑到理解! ·  3 天前  
哎咆科技  ·  丑小鸭 ·  2 天前  
ZOL中关村在线  ·  光电屏幕指纹是什么?相比超声波差在哪儿? ·  2 天前  
EETOP  ·  美国 AI 领先的真相: "幕后英雄" ... ·  2 天前  
ZOL中关村在线  ·  你到底适合买多少钱的手机? ·  3 天前  
51好读  ›  专栏  ›  生信技能树

生信入门(五)

生信技能树  · 公众号  ·  · 2024-06-15 08:56

正文

从我们 生信技能树 历年的几千个马拉松授课学员里面募集了一些优秀的创作者,某种意义来说是传承了我们生信技能树的知识整理和分享的思想!


今天的是三周合计15天的数据挖掘授课学员一点一滴整理的授课知识点笔记哦,还有互动练习题哈,欢迎大家点击文末的阅读原文去关注我们学员的公众号哦!


本节课主要学习了文件操作,包括文件读取和文件导出。在这里介绍了R自带的文件导入方式和使用其他R包导入文件。

1 文件读取

R中自带的文件读取函数——read系列函数

# 读取csvxlsx等表格形式数据read.csv(fileheader = FALSEsep = " ", quote = "\",          row.namescol.namesnrows = -1check.names = TRUR)      read.table()  # 读取txt数据
read.delim() # 也能读取txt文件,报错的可能相比于read.table小。

file: 数据文件

header:表头,如果有就是TRUE,没有就不写或者写FALSE;

sep:数据的分隔符;

quote:用于对有特殊字符的字符串划定连接线的字符串,默认是TRUE或者单引号;

row.names:保存行名的向量;

col.names:指定列名的向量;

nrows:一个正整数,用来指定从文件中读取的最大行数;

check.names:检查数据框中的变量名的语法规则是否符合书写。

读取数据时格式和原来的数据格式不符

ex2 'ex2.csv')# 基因名所在列自动加上“X”列名,“-”变成“.”

读取后格式和excel的一些字符不符合。因为R中的规则不允许有特殊字符,而且每一列都必须有列名。因此会给你自动加上列名,并且将“-”替换为“.”。影响我们将该数据转换成矩阵(只允许一种数据类型)。

ex2 <- read.csv('ex2.csv', row.names = 1, check.names = F)

tips:数据框不允许有重复的行名。

这里主要介绍下课堂学到的几个关键参数,其他参数可以自行查找补充。

用于读取/导出文件的R包

data.table()读取

不能直接设置行名,如果需要就用tibble包来进行添加。 相较基础模块中的函数,readr包中函数速度更快(约快10倍)。

library(data.table)ex1 'ex1.txt')# 直接读取出来的文件格式具有两种类型"data.table""data.frame"class(ex1)# "data.table" "data.frame"
# 要去除"data.table"就需要使用data.table参数ex1 'ex1.txt', data.table = F)class(ex1)# "data.frame"# 在使用data.table包读取csv时也是同样的代码ex2 = fread("ex2.csv",data.table = F)
# 使用tibble包设置行名library(tibble)ex2 = column_to_rownames(ex2, "V1")

rio读取

命令简单,可以支持多种格式。这个包的读取方式与python包的导入方式有点相似,我还挺喜欢这个包的。

library(rio)# 读取ex1 'ex1.txt')
# 导出export(ex1, file = 'ex1.xlsx')

2 数据框导出

write.csv(ex2, file='example.csv')write.table(ex2, file='example.txt')


3 随堂练习

1. 读取GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz(以保存在工作目录)注:gz是压缩格式,可以不用解压,直接读取。

2. 加载y.Rdata(已保存在工作目录),求gene1列的平均值。

x1 'GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz', check.names = F)x2 data






请到「今天看啥」查看全文