首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R- Kruskal-Wallis多因素

R- Kruskal-Wallis多因素
EN

Stack Overflow用户
提问于 2016-01-30 02:07:22
回答 1查看 2.5K关注 0票数 1

我正在寻求关于在我的一组数据上执行Kruskal-Wallis测试的帮助。我可以针对单个因素执行测试,比如AD_1yr:

代码语言:javascript
复制
kruskal.test(Shannon ~ AD_1y, data=comm)

但我有超过50个因素想要测试,并希望有一个我可以输入的代码,它将执行所有因素的测试,而不必手动执行50次不同的测试。

EN

回答 1

Stack Overflow用户

发布于 2016-01-30 02:09:54

我们可以使用lapply遍历factor列,使用'shannon‘列创建一个data.frame,然后执行kruskal.test

代码语言:javascript
复制
allfactorcolumns <- sapply(comm, is.factor)
lst <- lapply(comm[allfactorcolumns], function(x) 
    kruskal.test(Shannon~., data= data.frame(x, comm['Shannon'])))

如果我们需要提取“p.value”、“df”等。

代码语言:javascript
复制
do.call(rbind, lapply(lst, function(x) data.frame(Pval= x$p.value, 
                     stat= x$statistic, df= x$parameter)))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35091164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档