r - rstatix::dunn_test 中的公式有问题
问题描述
我写了一个函数来解析 data.frame,它抛出了一个我无法解决的 rstatix::dunn_test 错误。这是因为变量名称不正确地传递给公式。
>selectedcolnames<-"SF36"
>group_name<-"therapy"
>dunn_test(eval(parse(text=glue("{selectedcolnames}")))~eval(parse(text=glue("{group_name}"))),data=data,p.adjust.method = "holm",detailed = F)
这给出了一个错误:
Error: Can't extract columns that don't exist.
x Column `eval(parse(text = glue("{group_name}")))` doesn't exist.
存在带有数据的“SF36”列和带有分组因子的“治疗”列。我检查了它的工作原理:
wilcox.test(eval(parse(text=glue("{selected}")))~eval(parse(text=glue("{group_name}"))),data)
或者
coin::wilcox_test(eval(parse(text=glue("{selected}")))~eval(parse(text=glue("{group_name}"))),data)
有谁知道如何解决这个问题?
解决方案
我通过重新编写使用玩具数据运行此代码,它以这种方式运行良好;
library(rstatix)
library(glue)
selectedcolnames <- 'Petal.Length'
group_name <- 'Species'
frm <- reformulate(glue("{group_name}"),glue("{selectedcolnames}"))
dunn_test(frm,data=iris,p.adjust.method = "holm",detailed = F)
输出;
# A tibble: 3 x 9
.y. group1 group2 n1 n2 statistic p p.adj p.adj.signif
* <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <chr>
1 Petal.L~ setosa versic~ 50 50 5.86 4.55e- 9 9.09e- 9 ****
2 Petal.L~ setosa virgin~ 50 50 11.4 3.38e-30 1.02e-29 ****
3 Petal.L~ versico~ virgin~ 50 50 5.56 2.77e- 8 2.77e- 8 ****
推荐阅读
- c - How can i make a sdl window unmovable
- rust - 在不克隆的情况下使用闭包内的向量
- tensorflow - Saving subclass model with custom training
- python - Print Terminal Output Python
- git - Git 存储库在 Azure 数据工厂中不起作用
- azure - 在 Kusto 中解析 `key1=value1 key2=value2`
- vim - 在 Vim 中,显示代码自动完成来自的文件路径
- heroku-api - 通过 API 获取 Heroku dyno 指标
- json - 在 Flutter 中存储和从本地存储中检索对象
- javascript - HTML 集合中的循环未正确循环