抄代码的时候总是遇到原始数据应该长什么样的问题?

常常遇到有人问起看到分享的教程导入数据的方式是data(dune)等直接调用系统的数据,而自己怎么读入自己的数据呢?

对于初学者来讲,这确实是个问题。如何准备数据、拿到正确格式的数据并导入后续的代码进行分析,是学习和应用过程中的第一个拦路虎。

为什么教程会习惯使用内置数据?

  • 简单省事、便携可重复;这是内置数据的优势之一;
  • 内置数据模式清晰,通常可以获得较好的结果;这是内置数据的优势之二;
  • 别人用这个,我也用这个,这是一个偷懒的做法。
  • 每个人常识不同。作者可能觉得这个太简单而忽略了初学者的需求。(生信学习学的是什么?常识!)
  • 但内置数据的频繁使用是导致初学者学习这个教程时经常提出上面这个问题的原因。

    我不太赞成教程里面用使用内置数据,原因是:

  • 对不会读入数据的人不友好;
  • 不利于探索这篇教程用于实际数据时可能会遇到的问题。示例数据无脑运行,自己的数据无显著差异
  • 如果要使用内置数据,也需要额外提供一些信息

  • 详细描述内置数据的格式和生物含义,及与真实数据的对应,可以参考画一个带统计检验的PCoA分析结果
  • 提供真实数据的格式示例和读入真实数据的代码,弥补这个“鸿沟”;比如写这篇文章:你的adonis用对了吗?不同因素的顺序竟然对结果有很大影响就是因为示例数据有显著差异,而自己的数据无差异。所以才从原理上其理解计算过程,并探寻解决方案。
  • 提及可能出现的问题的解决;这也是操作了多套实际数据后,才能写出的部分。
  • 那假如教程没有提供这么详细,自己又得用这个教程,怎么做呢?

    自己如何根据教程的数据准备并读入自己的数据

    1. 查看数据的结构,了解数据的构成

    既然教程提供了测试数据集,不妨仔细看看测试数据集的特征,没准就找着规律了。

    我们以前面文章提到的dune数据集为例,查看下其结构特征。

    名字是数字,列名字是字符串(如果我们对这些字符串不熟悉,对我们来说就没任何意义;每个字符都认识,串一起就不知道是啥了~~),中间的值是整数。除此外也看不出其它信息了。

    library(vegan)data(dune)head(dune)## Achimill Agrostol Airaprae Alopgeni Anthodor Bellpere Bromhord Chenalbu Cirsarve Comapalu Eleopalu Elymrepe Empenigr## 1 1 0 0 0 0 0 0 0 0 0 0 4 0## 2 3 0 0 2 0 3 4 0 0 0 0 4 0## 3 0 4 0 7 0 2 0 0 0 0 0 4 0## 4 0 8 0 2 0 2 3 0 2 0 0 4 0## 5 2 0 0 0 4 2 2 0 0 0 0 4 0## 6 2 0 0 0 3 0 0 0 0 0 0 0 0## Hyporadi Juncarti Juncbufo Lolipere Planlanc Poaprat Poatriv Ranuflam Rumeacet Sagiproc Salirepe Scorautu Trifprat Trifrepe## 1 0 0 0 7 0 4 2 0 0 0 0 0 0 0## 2 0 0 0 5 0 4 7 0 0 0 0 5 0 5## 3 0 0 0 6 0 5 6 0 0 0 0 2 0 2## 4 0 0 0 5 0 4 5 0 0 5 0 2 0 1## 5 0 0 0 2 5 2 6 0 5 0 0 3 2 2## 6 0 0 0 6 5 3 4 0 6 0 0 3 5 5## Vicilath Bracruta Callcusp## 1 0 0 0## 2 0 0 0## 3 0 2 0## 4 0 2 0## 5 0 2 0## 6 0 6 0

    2. 查看数据的帮助

    从数据结构和行列名字上得不到有用信息,那我们查看下帮助信息。

    ?dune

    dune is a data frame of observations of 30 species at 20 sites. Thespecies names are abbreviated to 4+4 letters (see make.cepnames).

    这告诉我们什么呢?这套数据包含了30个物种在20个样品的丰度信息。从dim(dune)可以看出这是一个20行X30列的矩阵;可以推测出,每一行是一个样品,每一列是一个物种(另一个佐证是列名字长度确实为8个字符,与物种名字的4+4缩写一致)。

    注:如果对数据还有疑虑,建议谷歌下数据。常见内置数据集都会有文章描述其信息,可用于佐证你的判断。

    dim(dune)## [1] 20 30

    这个格式跟我们通常的OTU丰度表(我们的表通常是每一行是一个物种,每一列是一个样品)略有不同。

    3. 基本判断后,读入我们的数据,做可能的转换

    如果我们有一个OTU丰度表,怎么读入并转成这个格式呢?

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

    读入OTU丰度表,第一行为列名字,第一列为行名字。

    otu_table <- read.table("otutable_rare",sep="", row.names=1, header=T)

    根据上面的分析做一个转置,就可以获得可用于后续分析的输入数据了。

    otu_table_t <- as.data.frame(t(otu_table))otu_table_t## OTU1 OTU2 OTU3## Samp1 2 12 22## Samp2 13 13 10## Samp3 14 8 14## Samp4 15 10 11

    4. 示例数据中的整数代表什么意思?

    这个是比较难确定的部分,只有两个判断方法:1)教程中作者能够提及(这是最准确的方法);2)凭经验猜测。

    这里涉及到另外一个经常会被问起的问题:

    我这一步操作需要提供原始数据,还是标准化之后的数据?

    绝大多数情况下,我们需要提供的都是标准化之后的在不同样品之间可比的数据。因为:1)我们的需求是比较不同样品的差异,数据需要在样品间可比;2)绝大部分工具是不会对数据做标准化处理的,要么直接用,要么做一些不影响数值关系的转换;3)如果某个工具自己内部会对数据做标准化,它一定会在帮助中提及,常见的比如DESeq2, edgeR、limma,除了这两个半(limma算半个,因为它也可以接收标准化后的数据),一时想不起还有哪些工具是接受原始数据的。单细胞的Seurat包算是个例外,它内部调用了一些标准化算法,可以通过参数关掉。

    5. 查看更多教程,总会遇到有详细描述所需数据结构的教程。

    6. 跟着感觉走,不管三七二十一读进来试试,出现异常或报错再调整。学程序不是做实验,试错成本没有那么大,光看不练是假把式,大胆试才是王道。

    7. 最后一步,跟教程作者沟通。我们的教程问题,欢迎在http://www.ehbio.com/Esx发帖讨论;自己努力后,带着问题和思路的讨论更容易获得解答。

    郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
    (0)
    用户投稿
    上一篇 2022年6月23日
    下一篇 2022年6月23日

    相关推荐

    • 穿件马甲,跑得又快又稳:ORICO透明硬盘盒

      与机械硬盘相比,SSD固态硬盘体积更小、重量更轻、速度更快。但是SSD在提供超高速数据传输的同时,却不可避免面临着发热这个严峻的问题,如果不妥善处理,将严重影响传输速度,甚至会使S…

      2022年7月13日
    • 今日数据精选:美国成全球猴痘病例最多国家;中国女足获得东亚杯亚军

      战平日本队,中国女足获得东亚杯亚军 据北京晚报,7月26日晚,2022年东亚杯女足最后一场比赛在日本鹿岛足球场进行,中国女足与东道主日本队激战90分钟,最终0比0互交白卷。中国女足…

      2022年7月27日
    • 浅浅地大胆地聊聊进化论

      前天发了一篇短文,关于仙女虾作为活化石被发现,打脸进化论,引发了一些争论,仙女虾能生存两亿年,是因为其有独特的生存能力,进化论说特别的环境逼迫生物突变出特别的技能,那么为什么没有突…

      2022年8月7日
    • 歌手老狼朗读《晃晃悠悠》

      晃晃悠悠(节选) 作者:石康 朗诵:老狼 阿莱,我承认我爱你,尽管我们在一起时我很少提及它。 阿莱,并不是我爱你这件事本身叫我痛苦,而是另外一件事,即你仍然存在着这件事,想到你我共…

      2022年9月22日
    • 亚信数据:深耕政务大数据 培育数字经济发展新引擎

      数据观 | 刘振航 国家“十四五”规划纲要提出,提高数字政府建设水平,将数字技术广泛应用于政府管理服务,推动政府治理流程再造和模式优化,不断提高决策科学性和服务效率。如何运用大数据…

      2022年6月24日
    • “618”第二波活动手机景气度收窄,苹果表现优于安卓

      根据魔镜市场情报数据,天猫“618”第二波活动(品类日,6.4-6.12)期间,手机品类销售额28.28亿元,同比+9.66%,第一波+第二波累计销售额97.01亿元,同比+22.…

      2022年6月18日
    • 三年亏了10个亿,Keep上市失败,大把烧钱还不如刘耕宏的一个月

      Keep作为全球最大的健身平台,它也收获了过亿的用户量,数据显示,截至2021年3月,Kepp的用户量已经突破了3亿大关,但用户量的庞大并不能代表Keep能到赚到大把的钱。 可以看…

      2022年9月5日
    • 月薪过万的人真的很多吗?

      从数量来说真的很多,但从比例来说却很低。毕竟我国十四亿人口,月薪万元的比例在整体来说还是凤毛菱角的。 我们经常能网上看到一些各市人均六七千乃至七八千的平均薪资,然后一片声讨,称其太…

      2022年7月18日
    • 思科遭遇勒索攻击,2.8GB数据泄露,攻击者为16岁少年

      近日,知名网络巨头思科官方证实,今年5月曾遭遇勒索攻击,攻击者是一个名为Yanluowang的勒索软件集团,攻击者试图以泄露被盗数据威胁索要赎金。 思科发言人在接受 Bleepin…

      2022年8月14日
    • 智慧城市:从技术“面子”转向民生“里子”

      作者:尚进 当前中国智慧城市建设正呈现快速发展的态势,各类智慧城市应用已取得显著成效。如在线挂号、扫码就诊、自助缴费缓解了百姓就医难的问题,电子交警、潮汐分流、智能停车等大大缓解城…

      2022年6月20日

    联系我们

    联系邮箱:admin#wlmqw.com
    工作时间:周一至周五,10:30-18:30,节假日休息