Контролировать вывод теста Данна
Я использую dunn.test()
из пакета dunn.test
, и я не хочу, чтобы он выводил что-либо на вывод std (консоль), потому что я делаю это много раз, и я хочу посмотреть, есть ли у меня какие-либо предупреждения до этого.
Поэтому я отменил распечатку теста Крускала Уоллиса и распечатку таблицы следующим образом:
dunn.test(x = data, g = grouping, kw = FALSE, table = FALSE)
но он по-прежнему печатает новую строку после каждого теста, есть ли способ предотвратить печать новой строки? или способ поймать новую строку из печати?
Воспроизводимый пример dunn.test
-
library(dunn.test)
df <- data.frame(d = c(rnorm(100), rnorm(100, 5)),
group1 = rep(c('a','b','c','d'),50),
group2 = rep(c('a','b','c','d'),each =50))
test1 <- dunn.test(x = df$d, df$group1)
test2 <- dunn.test(x = df$d, df$group2)
test3 <- dunn.test(x = df$d, df$group1, kw = FALSE)
test4 <- dunn.test(x = df$d, df$group1, kw = FALSE, table = FALSE) # still prints a newline
1 ответ
Вы можете использовать capture.output()
функция, чтобы скрыть вывод
capture.output(dunn.test(x = df$d, df$group1))
Любая ошибка или предупреждение будут отображаться.
Этот ответ сработал, но захваченный вывод все еще был напечатан. Вот пример того, что сработало для меня:
library(dunn.test)
capture.output(df <-
as.data.frame(dunn.test(
x = iris$Sepal.Length,
g = iris$Species,
table = FALSE,
kw = FALSE,
label = FALSE,
alpha = 0.05
)), file = "NULL")
df
#> chi2 Z P P.adjusted comparisons
#> 1 96.93744 -6.106326 5.097522e-10 5.097522e-10 setosa - versicolor
#> 2 96.93744 -9.741785 1.000049e-22 1.000049e-22 setosa - virginica
#> 3 96.93744 -3.635459 1.387433e-04 1.387433e-04 versicolor - virginica
Создано 17.04.2020 с помощью пакета REPEX (v0.3.0.9001)
Обратите внимание, что сообщение не было напечатано, а вывод также был назначен фрейму данных.