如何在 R 中捕获 INLA 模型的详细输出?

How can I capture the verbose output of an INLA model in R?

希望这个例子能说明我正在尝试做的事情。

我 运行 一个相同的简单示例切换详细 TRUEFALSE 的比较。

library("INLA")
test <- capture.output(
{
inla(speed ~ dist, data = datasets::cars, verbose = F)

    }
    )

我尝试捕获详细的输出。它出现在我的控制台中但未被捕获。 testtest2 看起来相同。

library("INLA")
test2 <- capture.output(
{
inla(speed ~ dist, data = datasets::cars, verbose = T)

    }
    )

一些系统信息

                                 sysname 
                                 "Linux" 
                                 release 
                 "4.19.0-16-cloud-amd64" 
                                 version 
 "#1 SMP Debian 4.19.181-1 (2021-03-19)" 

一些 R 版本信息

platform       x86_64-pc-linux-gnu         
arch           x86_64                      
os             linux-gnu                   
system         x86_64, linux-gnu           
status                                     
major          3                           
minor          6.3                         
year           2020                        
month          02                          
day            29                          
svn rev        77875                       
language       R                           
version.string R version 3.6.3 (2020-02-29)
nickname       Holding the Windsock  

我从 help@r-inla.org 那里得到了答案。如果您设置 verbose = F,默认情况下,日志将存储在文件中。

> r=inla(y~1,data=data.frame(y=0))
> head(r$logfile)
[1] "        Read ntt 4 1 with max.threads 8"                          
[2] "        Found num.threads = 4:1 max_threads = 4"                  
[3] "        file: src/inla.c  4f8384f383a924449b14072dec7e4f9ce74ca121
- Wed Feb 16 14:16:16 2022 +0300"            
[4] "Report bugs to <help@r-inla.org>"                                 
[5] "Set reordering to id=[0] and name=[default]"                      
[6] "Process file[/tmp/Rtmpv5S9QO/file1c6414e8a909a/Model.ini]
threads[4] max.threads[8] blas_threads[1] nested[4:1]"

不得不说,因为在 inla class 文档或函数的详细参数中没有提到日志文件元素。没有发现这一点我并不难过。