一波三折终于在R里面读入了这个Excel表格

2022-06-08 20:48:19 浏览数 (1)

下面是读取Excel表格的记录

(生信技能树学员 )

自我介绍:医学博士,之前19年疫情刚开始就开始在b站上自学曾老师的R语言视频,但是因为那时候心态很浮躁,所以后续一有点困难就弃坑了。 近期毕业盲审过了,工作也定下来了,总算可以沉下来学点东西了,想着也为未来医生生涯做一点技术储备,因此报名了曾老师的数据挖掘课。今天是R语言基础课的最后一天,也学习了ggplot2的画图,以前也找厂家做过代谢组的测序,因此迫不及待的把厂家给的数据拿出来想自己试一试

任务:读取测序厂家给的差异分析excel文件

1.首先看一下这个原始文档,是个excel文件

2.第一次读取数据,error

尝试设置row.names = NULL继续error

换成read.table() 后 (我也不知道自己为什么会这样思考,换函数肯定是不对的,但是初学者就是需要勇于探索,在碰壁中成长)

3.考虑将后缀转化为csv文件继续读取

继续出错,并且发现mac的预览功能看不到内容,而excel可以打开

4.百度以后考虑可能跟这个csv文件的格式相关,尝试另存为,发现有UTF-8

的csv

5.转化以后轻松读取

6.读取的数据没有报错但是仍有问题

可以看到数值比较大,需要log

然后就出错了。。。

str()一下提取的exp数据,发现第8列是chr

那我就改一下不就行了?

还不行,百度一下发现可能是文件里有缺失值,转化时候会有NA

这么搞是不行的

百度发现可以通过na.omit()去缺失值

于是先去缺失值然后再转为数值型,最后再把数据框转化为矩阵进行数值处理

代码语言:javascript复制
a=read.csv('yuanshi1.csv',sep = ",",header = T,row.names = 1)
head(a[,5:12])
exp<-a[,5:12]
#去除缺失
exp<-na.omit(exp)
class(exp)
str(exp)
exp[,8]=as.numeric(exp[,8])
str(exp)
exp<-as.matrix(exp)
exp = log2(exp 1)
exp

总算出来结果了,折腾了好久

教训

1.文件初始格式很重要,mac下载excel文件,它可能不是utf8的,可以先另存为一下。

2.注意读取以后没有报错不等于一定是对的,可以str和class一下,这些函数一定要敲1000次以上!

3.要注意去除缺失值,而且是要先去缺失值,再进行后续处理

0 人点赞