美文网首页
【aRsenal-5】R难学?可你真的会用Excel吗?

【aRsenal-5】R难学?可你真的会用Excel吗?

作者: Rapp | 来源:发表于2017-09-29 14:15 被阅读112次

    经常有同学问我,学R编程会不会很难,我的回答总是:“只要你找到合适的入门材料,坚持下去,一定能学会!”

    尽管我不遗余力地鼓励周围的人用Linux和R来分析数据,但是得到的回答往往是:“Linux和R是你们搞生信的人才学的,我们做实验的就用Excel来分析数据。”我想问他们:“你们觉得R难学,但是你们真的学会怎么用Excel了吗?” 问题的关键不是哪个工具难学,更不是只有谁才可以学;随时保持一颗好奇心,愿意尝试自己不会的东西才是最重要的。

    如果还是不愿意学R,那我只好用Excel来考考你了。

    我的问题如下:
    我有一个30000多行的表,表的第一列是ID,如下图:


    table1.png

    我还有一个只含ID信息的表(只包含我感兴趣的几个gene):


    table2.png

    那么,如何用第二个表中的ID,从第一个表中提取出相关的行呢?这个问题对于会R的同学来说十分简单,但是如何用Excel来实现呢?

    提到Excel自带的函数,相信很多人都不陌生,比如Excel的SUM(求和)函数。我们今天需要用的是VLOOKUP函数。首先在单元格里面输入下面的函数,注意不要忘记函数前面的等号:


    table3.png

    简单解释一下VLOOKUP函数中的参数:

    1. $A2 是你需要在第一个大表的第一列中搜索的ID(这里是A2单元格),注意不要忘记前面的$。如果不加$,当你拖拉单元格来复制函数的时候,列变量就会自动递增,而我们需要它固定在A列不动,就在前面加上$符号
    2. $Sheet1! 表明我需要查找的表格在Sheet1中
    3. $A$1$N$33558 分别代表Sheet1中的表格的左上角和右下角单元格,不要忘记加上$符号
    4. 2 表示我需要返回Sheet1表格中的第二列
    5. 0 表示返回精确匹配值。如果找不到,则返回错误值 #N/A

    输完函数后按回车键,B2单元格就自动生成了你要找的结果。然后我们把B2单元格向右拖到C2,接着把第三个参数由2改为3,也就是返回Sheet1表中的第三列:


    table4.png

    以此类推,就可以得到下面的结果:


    table5.png

    我们把第二行含有公式的单元格(B2:N2)选中之后,将鼠标移动到N2单元格的右下角,此时的鼠标会变成黑色十字 (+),然后双击,就会自动补全所有的单元格,一秒钟搞定!

    table6.png

    做实验的小伙伴们,如果你实在没时间学R,还是好好学习Excel吧,尽管学会Excel也不是件轻松的事情:)

    如果想学习R,欢迎关注我的公众号 Rapp

    qrcode.jpg

    相关文章

      网友评论

          本文标题:【aRsenal-5】R难学?可你真的会用Excel吗?

          本文链接:https://www.haomeiwen.com/subject/esriextx.html