美文网首页生信笔记数据-R语言-图表-决策-Linux-Python
【小工具】python 携手R 计算两组数据相关性

【小工具】python 携手R 计算两组数据相关性

作者: 11的雾 | 来源:发表于2019-06-06 09:12 被阅读0次

要求:

假如你有两个表格:每个表格中有至少两列或者好多列,如下图例子中用到的表格只有3列,第一列是名称,第二列是观察值,第三列也是观测值。


image.png

你想根据两个文件中共有的某一列的值算相关性:

首先根据两个文件中共同列求交集,然后输出交集部分的指定列的信息。
比如,两个文件中都有第一列的信息,然后输出第一个文件中第三列,和第二个文件中第三列的信息。

脚本功能:

1)支持文件有或没有header,表头。
2)支持按照指定的列去计算:比如第一个文件中第二列,第二个文件中第三列之类。
3)支持文件分割类型为space或者tab。默认用space,如果不知道自己的数据是用什么分割的。可以用cat -A your_file.txt |head 去看,如果看到是^I隔开的,就表示该文件用tab作为分隔符,如果看到是空格,那么就是空格。
4)生成的内容需要重定向到指定文件中,否则将会屏幕输出。
5)生成相关性图,并包含sperm系数和pearson系数的计算结果。

输出文件为一个新生成的表格。
该表格具有三列:
第一列为两个文件中共有列的共有数据;
第二列和第三列分别是来自第一个文件中指定列和第二个文件中的指定列。

然后用第二个脚本(R脚本)画相关性图:
画相关性的脚本也支持将数据取对数log或者非log形式:

脚本参数详解

参数介绍

基本参数 -a -b,两个输入文件,必须加
选择性参数:这些参数都有默认值,看清楚即可。
-ka,-kb 表示a文件的key列,b文件的key列,就是共有列。
-va,-vb 表示a文件的value列,b文件的value列,就是你要比较的数据的值所在的列。
-sa,-sb 表示a文件的分割符,b文件的分隔符。
-headera,-headerb 加了则表示 a文件有header,b文件有header。不加表示没有header,

案例

第一步,将原始文件整理为相关性数据文件的格式。
python  correlation.py -a 01.xls -b 03.xls >01vs03.xls 
# 推荐输出格式用"."分隔,比如这里的01vs03.xls 中分隔符“.”号之前的“01vs03”将用在后面生成图的前缀。
第二步,用r脚本画图。
Rscript  correlation.point.log.R  01vs03.xls
结果生成为:
01vs03.0.corelation.jpg
01vs03.0.corelation.jpg

待更新:

1)美化图片,配色,线条需要美化一下下。
2)偏离点如何查看,什么意义?

一些说明

这两个脚本在个人的项目中非常实用。经常用来做相关性图,因此写成通用工具更加方便。
当然如果你已经有了第一步结果的表格,直接用第二个R脚本画图即可。
python脚本使用的全部为python内置的包,无需安装其他包,测试使用的是python 2.7版本,没有在python3中测试。
R脚本需要安装ggplot2. 测试使用的R版本为 3.5.1
需要脚本的点赞并私信我哦。

相关文章

  • 【小工具】python 携手R 计算两组数据相关性

    要求: 假如你有两个表格:每个表格中有至少两列或者好多列,如下图例子中用到的表格只有3列,第一列是名称,第二列是观...

  • R 相关性分析

    R 相关性分析 1. 相关性矩阵计算: 加载mtcars数据 计算两两相关系数 计算矩阵相关系数 2. 相关系数的...

  • 数据点处理问题

    目的 我有一批数据,想看他们的相关性,计算相关性r后,发现相关性没有我自己想像中的好,所以我画了下散点图,发现有些...

  • 统计学-三大相关系数

    参考:1.ref12.微信:新年开工——相关性分析了解一下?成对数据的相关性分析流程: 计算相关系数,主要用R里的...

  • R语言矩阵相关性计算及其可视化?

    1. 矩阵相关性计算方法 base::cor/cor.test R基础函数cor或cor.test都可计算相关性系...

  • 1.数据相关性分析

    在统计分析中,关于两组维度相等的数据的相关性分析: 假设有两组数据X和Y,他们都是n维的,X={,,...,}, ...

  • Python学习汇总

    Python基础 Python入门:基础教程Python入门:优秀的库推荐 Python小工具 日期计算器 将PD...

  • statquest学习笔记——correlation

    1. 什么是相关性 correlation指两组数据之间的相关性假设现有5个细胞,统计每个细胞中表达的gene X...

  • Day15 - 2018-04-17

    数据的相关性 皮尔逊积矩相关系数可以测量两组数据是否线性相关,它将两组数据分别减去其平均值后再分别除以其标准差得到...

  • R方(R-squared)

    R方 R2是一种易于计算和非常直观的用于度量相关性的指标 我们中的大多数人已经熟悉了相关性和它的度量标准R,就是常...

网友评论

    本文标题:【小工具】python 携手R 计算两组数据相关性

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