如何获得R中Kruskal-Wallis检验的精确p值?

如何获得R中Kruskal-Wallis检验的精确p值?,r,kruskal-wallis,R,Kruskal Wallis,如何获得Kruskal-Wallis的精确p值,例如,在R中进行3组测试 数据示例: df <- data.frame( dv = c(0.80, 0.83, 1.89, 1.04, 1.45, 1.38, 1.91, 1.64, 0.73, 1.46, 1.15, 0.88, 0.90, 0.74, 1.21), group = factor(rep(c("A", "B", "C"), c(5, 5, 5)))) 尽管产生了错误: Error in

如何获得Kruskal-Wallis的精确p值,例如,在R中进行3组测试

数据示例:

df <- data.frame(
    dv = c(0.80, 0.83, 1.89, 1.04, 1.45, 1.38, 1.91, 1.64, 0.73, 1.46,
           1.15, 0.88, 0.90, 0.74, 1.21),
    group = factor(rep(c("A", "B", "C"), c(5, 5, 5))))
尽管产生了错误:

Error in .local(object, ...) : ‘object’ is not a two-sample problem
如果我改变了精确的近似值,但它不是精确的分布


有什么想法吗?

出现错误的原因是您只能精确计算两个示例问题的分布

从helpkruskal_测试:

…可通过蒙特卡罗重采样近似分布,或通过将分布分别设置为近似或精确,精确计算单变量双样本问题的分布


也许你需要一个成对的测试try combnlevelsdf$group,2,FUN=functionx kruskal_testdv~ group,data=subsetdf,group%在%x中,distribution='exact',simplify=false你试过stats::kruskal.testdv~ group,data=df吗?@duckmayr,是的,对不起,你是对的,我不知怎么把kruskal.test和ks.test搞混了一会儿。我也成功地使用了你的kruskal.test方法。不用担心@IanCampbell!我们都会时不时地掉头如果我设定一个近似值,它就会起作用。因此,这仅适用于精确选项。@Sinval我找到了一些关于SAS精确方法的文章,但我找不到在R中实现的任何内容。如果这个答案没有帮助,我可以将其删除。谢谢,我知道IBM SPSS统计精确测试模块也能够获得这些精确的p值。我真的很想用R,因为我和我的学生一起使用的考试包。我希望他们检查精确的p值表,然后将它们插入Moodle考试平台。之后,将这些值与用R。。。
Error in .local(object, ...) : ‘object’ is not a two-sample problem