我有一个python脚本,它从基因表达式数据生成z分数。我还希望脚本创建一个spearman相关输出。我想知道复制品之间的相互关系。所以在输出中,行和列都是复制名。在
我还没有找到任何关于如何使用scipy计算两个以上列表的spearman等级相关性的例子。我能用西皮的吗统计忐忑的可乐在一个命令中比较所有的复制?我把数据存储在一个字符串中。以下是我的一些代码:t_vals=[]
z_outline = []
z_outlines = []
header = None
for line in input_file:
line = formatLine(line)
if line.startswith("#"):
header = line
header += "n"
z_output.write(header)
sp_output.write(header)
continue
lineList = line.split("t")
vals = []
in_vals =[]
for item in lineList[1:]:
val = float(item)
in_vals.append(val)
vals.append(val)
median = robjects.r['mean'](robjects.FloatVector(vals))[0]
mad = robjects.r['sd'](robjects.FloatVector(vals))[0]
z_vals = []
t_vals = []
for v in in_vals:
if mad == 0:
z_val = (v - median) / CLOSE_TO_ZERO
else:
z_val = (v - median) / mad
z_vals.append(z_val)
t_vals.append(z_val)
z_vals_str = []
for v in t_vals:
z_vals_str.append("%.4f" % v)
z_outline = "t".join(lineList[:1]) + "t"
z_outline += "t".join(z_vals_str)
z_outline += "n"
z_outlines.append(z_outline)
for outline in z_outlines:
z_output.write(outline + "n")
谢谢你的帮助!谢谢