Мойка только сохранение массива через консоль, а не через источник - PullRequest
0 голосов
/ 31 октября 2018

Я использую этот код:

max.print <- getOption('max.print')
options(max.print=nrow(countryaccepted) * ncol(countryaccepted))
sink(file.txt, append=TRUE, type="out")
cat("*************************\n")
cat("F-Test and T-Test Results")
as.array(HypothesisTesting)
cat("\n\n\n")
sink()
options(max.print=max.print)

Переменная «HypothesisTesting» - это трехмерный массив, имеющий размеры 2 x 2 x 2 и содержащий значения типа «double».

Я получаю только следующий результат в файле при запуске кода через «Источник»

*************************
F-Test and T-Test Results

Но когда я запускаю его в «Консоли», я получаю следующий результат, сохраненный в файле:

*************************
F-Test and T-Test Results

, , TTest

         H0 Accepted H0 Rejected
Ho True     98.68938    0.970427
H0 False     8.62801    1.310620

, , FTest

         H0 Accepted H0 Rejected
Ho True     100.0000     4.22076
H0 False     7.50504     0.00000

Почему результат не сохраняется через источник и почему он сохраняется только через консоль?

Где я не прав?

1 Ответ

0 голосов
/ 31 октября 2018

Вам нужно использовать print(), если вы хотите сохранить (консольный) вывод объекта через функцию или источник.

*************************
F-Test and T-Test Results
, , 1

     [,1] [,2]
[1,] 0.01 0.01
[2,] 0.01 0.01

, , 2

     [,1] [,2]
[1,] 0.01 0.01
[2,] 0.01 0.01

код

arr <- array(0.01, dim=c(2, 2, 2))

max.print <- getOption('max.print')
options(max.print = 100)

sink("file.txt", append = TRUE, type = "out")
cat("*************************\n")
cat("F-Test and T-Test Results\n")
print(as.array(arr))                                   # wrap output into print()
cat("\n\n\n")
sink()
options(max.print = max.print)
...