При разработке пакетов для каждого примера требуется ‹5s. Однако пара stan_model()
и rstan::sampling()
занимает больше времени, чем 5 с, следующим образом:
Examples with CPU or elapsed time > 5s
user system elapsed
fit 1.25 0.11 32.47
Поэтому я поставил \donttest{}
для каждого rstan::sampling()
в комментариях roxygen #'@examples
В примерах#'@examples
мы не должны запускать sampling()
или есть какое-то лечение?
Я пытался создать свой пакет на основе кода rstan_package_skeleton(path = 'BayesianAAA')
, когда меня учили у вас (спасибо!!), но я многого в нем не понимаю.
Раньше rstan_package_skeleton(path = 'BayesianAAA')
запускал ошибки в моем компе (но сейчас ошибка не возникает). Итак, я сделал свой пакет без rstan_package_skeleton()
, скажем, BayesianAAA
, и в своем первоначальном варианте я поместил Model_A.stan
,Model_B.stan
,Model_C.stan
,.... в inst/extdata
, и я ссылаюсь на свои файлы stan следующим образом;
scr <- system.file("extdata", "Model_A.stan", package="BayesianAAA")
scr <- rstan::stan_model(scr)
У меня много вопросов по коду rstan_package_skeleton(path = 'BayesianAAA')
.
1) Первый вопрос: как включить мои существующие файлы stan и как сослаться на мои .stan
файлы для rstan::stan_model()
? Согласно странице, следующей за страницей, было сказано, что
Если бы у нас были существующие файлы .stan для включения в пакет, мы могли бы использовать необязательный аргумент stan_files
для rstan_package_skeleton, чтобы включить их.
Итак, я думаю, что должен выполнить, я не уверен, но требуется следующий способ;
`rstan_package_skeleton(path = 'BayesianAAA', stan_files = "Model_A.stan" )`.
Но я не знаю, как написать код для нескольких stan-файлов, скажем, Model_A.stan
,Model_B.stan
,Model_C.stan
в моем существующем пакете, сделанном без rstan_package_skeleton()
. Я не понимаю, но следующий код правильный? Поскольку я не знаю, где файлы, описанные в переменной stan_files
, отражаются в новом проекте, созданном rstan_package_skeleton()
.
`rstan_package_skeleton(path = 'BayesianAAA', stan_files = c("Model_A.stan",`Model_B.stan`,`Model_C.stan` )`.
Тут возникает другой вопрос, т.
2) Второй вопрос: Где я выполняю код rstan_package_skeleton(path = 'BayesianAAA', stan_files = "Model_A.stan" )
? Я выполняю его из консоли R studio в моем существующем пакетном проекте. Это правильно? И тогда возникает новый проект, содержащий старый существующий проект. Что я должен делать ?
https://cran.r-project.org/web/packages/rstantools/vignettes/minimal-rstan-package.html
3) Не совсем знаю про пакеты "rstanarm" , но пытаюсь сымитировать его для своего пакета, но не могу в нем ни одного .stan
файла штрафовать, я ошибаюсь?
Прошу прощения за мой плохой английский и отсутствие знаний об этих вещах. Я был бы признателен, если бы вы могли сказать мне.