從函式內部的 rstatix 包中使用add_xy_position()后,我遇到了問題tukey_hsd()。這是我的函式的樣子:
make_tukey_test <- function (data,variable,grouping_variable){
data %>%
tukey_hsd(variable ~ grouping_variable)
}
當我使用以下代碼呼叫該函式時,它運行良好,并且測驗結果保存在 data.frame 中:
test <- make_tukey_test(data = dat, variable = dat$num_var, grouping_variable = dat$factor_var)
然而,當我嘗試添加的X和Y坐標,dat$factor_var使用add_xy_position()這樣的:
test <- test %>%
add_xy_position(x = “factor_var”)
我收到以下錯誤訊息:
Error: Must group by variables found in `.data`. * Column `grouping_variable` is not found.
但是,當我tukey_hsd()在我的函式之外使用時,代碼運行良好,并且坐標被添加到 data.frame 中。
我非常感謝一些有用的建議,因為我不知道為什么當我在我的函式中使用它時代碼不起作用。
uj5u.com熱心網友回復:
我建議將列名作為字串傳遞。由于tukey_hsd接受一個公式物件,您可以使用它reformulate來創建grouping_variable它并在add_xy_position函式中傳遞它。
這是一個帶有mtcars資料集的示例。
library(rstatix)
library(dplyr)
dat <- mtcars %>% mutate(cyl = factor(cyl))
make_tukey_test <- function (data,variable,grouping_variable){
data %>%
tukey_hsd(reformulate(grouping_variable, variable)) %>%
add_xy_position(x = grouping_variable)
}
test <- make_tukey_test(data = dat, variable = "mpg", grouping_variable = "cyl")
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/338412.html
