生信马拉松 Day5

2024-01-13 22:58:21 浏览数 (2)

今天的内容主要是关于生信学习的思路,另外学习了文件的读取和输出

1.解决问题的正确姿势

(1)检查代码和环境

是代码错误?还是工作目录改变?摸不着头脑时可以考虑重启R studio解决

(2)找不同

比较能正确运行的数据和出错的数据,可能出现的情况有:异常值INF,重复值、非法输入、数据类型、数据结构

(3)搜报错

复制error信息,浏览器搜索(注意只需要复制报错的冒号后半句)

(4)有效提问 (这个思路很重要,不只是生信提问,不要等待别人追着帮助自己,而是主动讲明白疑问点,日常工作交流都会受益)

a.前因、后果、目的:在做什么分析,做了什么,导致现在的结果,目的是完成什么,才做的尝试,特别是外来的代码

b.代码、数据、报错截图(数据描述用str()函数)

c.做过的尝试(意味着排除的对象)

常见的无效提问:

1.只说失败、报错,不贴代码和截图

2.只贴报错,不贴代码,没有前因后果

3.不思考,不对比,不搜索就问

4.只说“不懂”,不说具体不懂的点

2.csv文件的打开方式

(1)双击打开,默认使用excel

(2)右键打开方式,可以选择记事本打开

注意:当数据量太大时可能导致记事本崩溃

(3)sublime或vscode(适用大文件,≈ 加强版记事本)

3.R语言读取文件

代码语言:R复制
read.csv()

文件读取是R语言里的数据框来源之一

注意:表格文件读入到R语言里,就得到了一个数据框,对数据框进行的修改不会同步到表格文件,如果想要保存修改结果,建议另存一个文件

4.认识分隔符

常见:逗号(csv),空格(tsv),制表符('t',tab键,excel文件的分隔符)

注意:例如tsv、csv的纯文本文件的后缀没有意义,只是约定俗成,起提示作用,不起决定性作用,实际的分隔符可能是不同的,可以记事本打开之后看一下实际的分隔符

4.将表格文件读入R语言,成为数据框

代码语言:R复制
read.csv() #通常读取csv

read.table() #通常读取txt

read.delim() #读取txt的一个替代函数

失败有两种表现:1.报错 2.意外的结果

直接读取如果失败,就需要指定一些参数,常见的参数有header=T(设置第一行为列名),check.names=F(读取时不修改列名格式),sep= (修改分隔符)

5.数据框导出,成为表格文件

代码语言:R复制
write.csv(test,file = 'excercise.csv')

write.table(test,file = 'excercise.txt')

建议导出时取不同原文件的名字,不要覆盖原文件,让代码可重复,数据可重现

6.R特有的数据保存格式,Rdata

无法用其他软件打开,保存的是变量,不是表格文件,支持多个变量存到同一个Rdata

save()保存,注意file=不是固定的第二个参数,所以不能省略

load()加载,使Rdata的变量出现在环境里,因此不能给数据命名

7.三大基本函数

代码语言:R复制
dim() 
class()
str()

8.两个神奇的读数据的包

代码语言:R复制
#包1:data.table
#只有fread一个比较好用的函数,所以一般不加载这个包
soft = data.table::fread("soft.txt")
class(soft)
#[1] "data.table" "data.frame"
#data.table是作者大神自创的数据类型
#一般用不到,所以就用data.table默认参数FALSE掉
soft = data.table::fread("soft.txt",data.table = F)
class(soft)
#[1] "data.frame"
#包2:rio
#支持非常多种数据的导入,只要数据实际内容和后缀相同,就能一键导入
library(rio)
#读取
soft = import("soft.txt")
#读取多工作簿的excel
ls2 = rio::import_list("ls.xlsx")
#导出为普通表格文件
export(iris,file = "iris.csv")
#导出列表
ls = split(iris,iris$Species)
export(ls,file = "ls.xlsx")

生信技能树,生信马拉松

0 人点赞