【发布时间】:2012-02-13 17:55:46
【问题描述】:
我有两个 .csv 文件,其中包含从 R 导出的相关矩阵。一个文件包含 P 值,一个文件包含 r 值。行和列标题在两个文件之间完全匹配。
我试图仅在 P 值
Species1 Species2
Species1 1 0.9
Species2 0.9 1
P 值输入文件是相同的,除了包含 P 值代替 r 值。
我对 Python 比较陌生,不知道如何处理这种类型的文件。我尝试了一些策略,包括使用 csv 库来遍历文件。我研究过使用 numpy,但它似乎对我不起作用(?)。我还研究了使用 scipy 在 Python 中计算 r 值和 P 值(Pearsons),但似乎这只适用于比较两个一维数组(我有 1700 多列数据要关联)。
我开始使用的代码,向您展示我导入的内容:
import csv
infileP = open('AllcorrP.csv', 'rU')
infileR = open('AllcorrR.csv', 'rU')
问题 任何人都可以根据我的 p 值文件中的显着 (
或
直接使用 Python 计算多列数据之间所有可能相关性的 r 值和 P 值,并仅提取具有显着 P 值的结果?
最后,我想输出两个文件。
第一个文件:
Species1 Species2 Species4 ...
Species2 Species1 Species7 ...
等...(其中“Species1”是第一个具有显着相关性的物种,下一行是与它显着相关的物种(Species2、Species4 等)
第二个文件:
Species1 (corr) Species2 = 0.87
Species2 (corr) Species7 = 0.72
...
等等。它显示了每个成对相关性和与之相关的 r 值
此时,我很高兴能够提取我想要的 r 值和物种的列表,并在稍后找出最后的两个文件格式。谢谢!
【问题讨论】:
标签: python matrix correlation