我正在运行以下代码:
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”是一个3D数组,尺寸为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
为什么不通过源保存结果,为什么仅通过控制台保存结果?
我在哪里错了?
答案 0 :(得分:0)
如果要通过函数或源保存对象的(控制台)输出,则需要使用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)