这波操作是为了做boxplot被逼出来的,暂时没有使用R去处理矩阵,因为比较习惯excel操作,因此最终确定了通过excel的解决办法。
一般来说我们会把拿到的表达矩阵处理成如下格式:
这种格式也是作图常用数据格式,比如要做heatmap,随机森林等系列分析都可以通过该表格的变换进行。而要做boxplot则有点尴尬,需要多个列合并到一列,并需要变量做对应的调整,对此表来说需要做成以下格式:
这就略微有点麻烦,当然可以手动操作,一列一列进行复制粘贴,但数据少还可以,如果有几百个样品,几十个基因,光数据整理都是很大的劳动量。当然,作图还是简单,这也是我一直强调的,作图简单,前期数据整理是关键。要想整理成这样,R语言应该可以轻而易举完成(暂时还没学),excel也可以做到,稍微麻烦些,步骤如下:
第一步:
全选,倒置粘贴,并在最后一列编号,复制一遍再编号,如下:
复制到新的excel最后,筛选,升序排列,这样在每行下边插入一个空行:
第二步:
不要第一行和最后一列,倒置粘贴,
接着是一步重要操作:
选中第一行A到L列,查找》定位》空值,这时光标移动到ID后面的第一个空白单元格,输入“=C1”,按ctrl+enter键,会发现神奇的结果;同样的操作把空白列填满:
这时会发现已经接近我们要的数据格式了。
第三步:
对上一步表格继续复制,倒置粘贴,同样利用排序筛选:
好,现在数据整齐了,如何进一步整理成boxplot需要的格式?
神奇的操作来了,
第四步:
分别复制筛选的1即基因名矩阵和筛选的2即数值矩阵到word中,利用word的“表格工具”》“转换成文本”》“段落标记”功能,即可成功由二维矩阵转换成一列,分别粘贴到新的表格的variable和value列中:
最后,把sample列填满即可,这个不做介绍,太简单。
这一波操作虽然繁琐了些,总归能解决问题,而且比较机械化,适合不爱动脑的同学。当然,如果会用R操作更好。
另一个人的帖子还没好好消化,看着公式就比较复杂,啥时候空了慢慢理解:http://www.360doc.com/content/18/0717/11/848059_771111909.shtml
REF:
https://jingyan.baidu.com/album/0bc808fc000e691bd485b9ce.html?picindex=2
https://www.jianshu.com/p/56725188c512
https://jingyan.baidu.com/album/2d5afd691c805e85a2e28ebd.html?picindex=7
https://jingyan.baidu.com/article/425e69e6e215acbe15fc160d.html