Spearman 相关分析 Python

Spearman相关分析(菜鸟版)

和Pearson的区别

皮尔逊积差相关系数要求两个变量均服从正态分布(正确地说是二维正态分布)。
斯皮尔曼等级相关系数对变量的分布无要求,主要用在偏态资料或等级资料上,利用秩次进行计算

import numpy as np
import pandas as pd
import scipy
from scipy.stats import spearmanr


res=pd.concat([data1,data2,data3,data4],axis=0)#4个文件合成一个表,表是辣鸡地一个一个导进来的,代码不见了,dataX是每一个文件导入之后赋值给DataFrame
y=[]#创建见一个空数组,没看见其他的能求p值的方法,只能转成数组了
Cor=pd.DataFrame(columns=['r_row','p_value'])#创建一个空DataFrame
x=['Frame_Shift_Del','Frame_Shift_Ins','In_Frame_Del','In_Frame_Ins','Missense_Mutation','Nonsense_Mutation','Splice_Site','stage','total']
for i in range(0,len(x)):
    y.append(res[x[i]].values)#产生所有数值都在一个数组的数组
for i in range(0,len(y)):
    r_row, p_value = spearmanr(y[i], y[7])#求相关系数和P值
    a=pd.Series({'r_row':r_row,'p_value':p_value})#生成的p值和r要转成Series然后插入数据框
    Cor=Cor.append(a,ignore_index=True)#插入数据框
Cor
Cor.to_excel("AML_pvalue&r.xlsx")#保存
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值