前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >引号吃掉了我的数据~~~

引号吃掉了我的数据~~~

作者头像
生信宝典
发布2020-08-12 14:38:27
4610
发布2020-08-12 14:38:27
举报
文章被收录于专栏:生信宝典生信宝典生信宝典

耗时很长的程序忘加nohup就运行了怎么办?,有一位朋友留言提到了Excel的一个坑,这个之前也专门有文章(Excel改变了你的基因名,30% 相关Nature文章受影响,NCBI也受波及)讲述。

这让我想起来很早之前碰到的一个关于基因名的诡异问题,数千个基因读进来的数据框只有几百行,headtail查看都没问题,问题出现在中间部分基因存在的引号上面了。

以下面这个简单数据为例子看下是怎么回事?

text <- "Gene;Samp1;Samp2
Pou5f1;23;34
Acg't;22;21
Deg;33;34
Oct'4;25;27
Sox2;12;13"

读入数据,查看下

data <- read.table(text=text, sep=";", row.names=1, header=T)

data

5个基因,读进去之后只有3个了。

                            Samp1 Samp2
Pou5f1                         23    34
Acgt;22;21\nDeg;33;34\nOct4    25    27
Sox2                           12    13

原来是引号在搞鬼,R默认在遇到引号时会认为两个引号中间的字符属于同一列。这样做的好处是某一列的内容中可包含列分隔符而不影响数据读取,坏处如上。

因为通常遇到的数据是不会在列内容中包含引号的,所以quote=""成了我读取数据的标配,尽量不再被这个问题困扰。comment=""也是类似 (默认#开头的行会被忽略,有没有因此丢失过行呢?)。

data <- read.table(text=text, sep=";", row.names=1, quote="", header=T, comment="")

data

读进来,数据如下,问题解决

       Samp1 Samp2
Pou5f1    23    34
Acg't     22    21
Deg       33    34
Oct'4     25    27
Sox2      12    13
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信宝典 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档