Saya perlu mencetak hasil tes Tukey dalam fungsi paket saya. Namun, CRAN menjawab bahwa saya tidak dapat menggunakan print() / cat(). Jika saya menggunakan pesan (), pesan tidak keluar dalam format yang saya inginkan, seperti pada print ().

res.aov <- aov(y ~ x, data= data)
  tukey<-TukeyHSD(res.aov)

print(tukey$`x[, 1]`)

Dengan print (), hasilnya keluar seperti yang saya inginkan di konsol:

         diff         lwr        upr      p adj
2-1 0.0188276 0.003123183 0.03453202 0.01922062

Tetapi dengan pesan (), hasilnya terlihat seperti ini:

0.01882759965134230.003123182712210140.03453201659047440.0192206190347084

Adakah saran agar hasilnya keluar seperti print ()? Terima kasih.

2
Igor Cobelo 2 Juli 2020, 18:19

1 menjawab

Jawaban Terbaik

Anda dapat menggunakan fungsi capture.output() untuk menyimpan hasil yang diinginkan dari fungsi cetak ke variabel. Kemudian Anda memformat string dengan benar dan meneruskannya ke message(). Lihat contoh di bawah ini:

> x <- c(a = 1, b = 2)
> print(x)
# a b 
# 1 2 
> msg <- capture.output(print(x))
> message(paste(msg, collapse = "\n"))
# a b 
# 1 2 
3
Freguglia 2 Juli 2020, 15:27