Как предотвратить открытие /tmp файлов с помощью knitr, используя nvim-r и rstan
Я использую R в Neovim с Nvim-R, чтобы связать документы Rmd, используя \kh
или же \kp
команды. Проблема в том, что когда я вяжу Rmd, который соответствует модели Rstan, он печатает выходные данные Rstan sampling()
Вызов, включая ход цепочек в отдельном временном файле, находится по этому адресу:
Файл:///tmp/RtmpMmXreV/file27067eb3452f_StanProgress.html
который содержит этот вывод:
Нажмите кнопку "Обновить", чтобы увидеть ход цепочек, начинающих рабочий pid=17045 на localhost:11515 в 14:31:54.447 начальный рабочий pid=17070 на localhost:11515 в 14:31:54.670
и он открывает этот HTML-файл в моем браузере. В результате мой браузер продолжает открываться каждый раз, когда новая модель начинает выборку. Это происходит только когда я распараллеливаю цепочки используя options(mc.cores = parallel::detectCores())
, HTML-файлы не открываются без этой команды.
Можно ли запретить nvim-r открывать эти временные html-файлы или можно отключить вывод цепочки из Rstan?
Минимальный пример:
library(rstan)
options(mc.cores = parallel::detectCores())
data(DNase)
model <- stan_model(model_code = "
data {
int n;
vector[n] conc;
vector[n] density;
}
parameters {
real b0;
real b1;
real<lower=0> sigma;
}
model {
conc ~ normal(b0 + b1 * (density), sigma);
b0 ~ normal(0, 10);
b1 ~ normal(0, 10);
sigma ~ normal(0, 10);
}")
fit <- sampling(model, data = list(n = nrow(DNase),
conc = DNase$conc,
density = DNase$density))
РЕДАКТИРОВАТЬ: я пытался добавить results="hide"
к заголовку чанка и refresh = 0
к sampling()
Звонить на основании этого ответа безрезультатно. refresh = 0
действительно удаляет starting worker...
часть сообщения, но он по-прежнему открывает HTML-файл, который говорит Click the Refresh button to see progress of the chains
,
1 ответ
Добавление open_progress = FALSE
в sampling()
не позволяет stan сохранять ход цепочек в лог-файл. По умолчанию, open_progress = TRUE
вступает в силу только тогда, когда cores > 1
, Из первой ссылки. Пример:
sampling(model, open_progress = FALSE)