gpt4 book ai didi

python - Python 中 Kruskal-Wallis 检验的输入格式

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:04 25 4
gpt4 key购买 nike

我正在比较癌症患者和健康人的 DNA 结构断裂区域。我正在尝试对每个区域的中断次数运行 Kruskal-Wallis 测试 (SciPy Stats),以查看两个分布之间是否存在差异。我不确定 Kruskal - Wallis 的输入应该是数组(文档)还是数组列表(在互联网上的其他地方)。

首先,我尝试了一个像这样的样本+控制数组:

controls = ['1', '2', '3', '4', '5']
samples = ['10', '20', '30', '40', '50']
n=0
for item in controls:
array_item = np.array([item, samples[n]])
kw_test = stats.mstats.kruskalwallis(array_item)
print(kw_test)
n+=1

这为我提供了所有项目的以下输出:

(0.0, nan)

我还尝试将各个数据点转换为数组,然后运行 ​​KW 测试。

controls = ['1', '2', '3', '4', '5']
samples = ['10', '20', '30', '40', '50']
n=0
kw_results = []
for item in controls:
array_controls = np.array([item])
array_samples = np.array([samples[n]])
kw_test = stats.mstats.kruskalwallis(array_samples, array_controls)
kw_results.append(kw_test)
n+=1
print(kw_results)

这为所有比较提供了 (1.0, 0.31731050786291404),即使我彻底更改了其中一个列表也是如此。

深入挖掘,我读到输入应该是一个数组列表,所以我认为只提供两个数据点(一个样本,一个对照)可能会导致“(0.0,nan)”,所以我试了一下好吧。

controls = ['1', '2', '3', '4', '5']
samples = ['10', '20', '30', '40', '50']
list_ = []
n=0
for item in controls:
array_item = np.array([item, samples[n]])
list_.append(array_item)
n+=1
kw_test = stats.mstats.kruskalwallis(list_)
print(kw_test)

这给了我这个错误:

TypeError: Not implemented for this type

现在我不确定要使用什么格式/类型,希望任何人都可以帮助我!

最佳答案

scipy.stats.mstats.kruskalwallis模块使用数组。这些可以是具有奇数个观测值的数组。

如果您的数据位于 CSV 文件中的不同列中,那么这样的事情应该可行:

import pandas
from scipy.stats import mstats

Data = pandas.read_csv("CSVfile.csv")
Col_1 = Data['Colname1']
Col_2 = Data['Colname2']
Col_3 = Data['Colname3']
Col_4 = Data['Colname4']

print("Kruskal Wallis H-test test:")

H, pval = mstats.kruskalwallis(Col_1, Col_2, Col_3, Col_4)

print("H-statistic:", H)
print("P-Value:", pval)

if pval < 0.05:
print("Reject NULL hypothesis - Significant differences exist between groups.")
if pval > 0.05:
print("Accept NULL hypothesis - No significant difference between groups.")

关于python - Python 中 Kruskal-Wallis 检验的输入格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30374219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com