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

2017-09-29  本文已影响112人  Rapp

经常有同学问我,学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
上一篇下一篇

猜你喜欢

热点阅读