R中具有BRM功能的compileCode错误和接收器错误

时间:2020-10-13 15:17:17

标签: r compiler-errors rtools

我以前从未使用过brm函数。我在Anaconda上安装了Rtools,然后在jupyter notebook(R)中调用了library(brms)。

这是我对brm函数的公式:

m1 <- brm(formula = bf1, data = myData,
          prior = c(set_prior("cauchy(0,2)", class = "sd"),
                    set_prior("normal(0,3)", class = "b"), set_prior("lkj(2)", class = "cor")),
          warmup = 200, iter = 1000, chains = 4, file = m1.File)

跟踪:

Error in compileCode(f, code, language = language, verbose = verbose): file1534743a411d.o:file1534743a411d.cpp:(.text$_ZN3tbb8internal26task_scheduler_observer_v3D1Ev[_ZN3tbb8internal26task_scheduler_observer_v3D1Ev]+0x14): undefined reference to `tbb::internal::task_scheduler_observer_v3::observe(bool)'file1534743a411d.o:file1534743a411d.cpp:(.text$_ZN3tbb8internal26task_scheduler_observer_v3D0Ev[_ZN3tbb8internal26task_scheduler_observer_v3D0Ev]+0x1c): undefined reference to `tbb::internal::task_scheduler_observer_v3::observe(bool)'file1534743a411d.o:file1534743a411d.cpp:(.text$_ZN4stan4math16ad_tape_observerD1Ev[_ZN4stan4math16ad_tape_observerD1Ev]+0x15): undefined reference to `tbb::internal::task_scheduler_observer_v3::observe(bool)'file1534743a411d.o:file1534743a411d.cpp:(.text$_ZN4stan4math16ad_tape_observerD1Ev[_ZN4stan4math16ad_tape_observerD1Ev]+0x47): undefined reference to `tbb::internal::task_scheduler_observer_v3::observe(bool)'file1534743a411d.o:file1534743a411d.cpp:(.text$_ZN4stan4math16ad_tape_observerD0Ev[_ZN4stan4math16ad_tape_observerD0Ev]+0x15): more undefined references to `tbb::internal::task_scheduler_observer_v3::observe(bool)' followcollect2.exe: error: ld returned 1 exit status
Traceback:

1. brm(formula = bf1, data = myData, prior = c(set_prior("cauchy(0,2)", 
 .     class = "sd"), set_prior("normal(0,3)", class = "b"), set_prior("lkj(2)", 
 .     class = "cor")), warmup = 200, iter = 1000, chains = 4, file = m1.File)
2. do_call(compile_model, compile_args)
3. eval2(call, envir = args, enclos = parent.frame())
4. eval(expr, envir, ...)
5. eval(expr, envir, ...)
6. .fun(model = .x1, backend = .x2, threads = .x3)
7. .compile_model(model, ...)
8. do_call(rstan::stan_model, args)
9. eval2(call, envir = args, enclos = parent.frame())
10. eval(expr, envir, ...)
11. eval(expr, envir, ...)
12. .fun(model_code = .x1)
13. cxxfunctionplus(signature(), body = paste(" return Rcpp::wrap(\"", 
  .     model_name, "\");", sep = ""), includes = inc, plugin = "rstan", 
  .     save_dso = save_dso | auto_write, module_name = paste("stan_fit4", 
  .         model_cppname, "_mod", sep = ""), verbose = verbose)
14. pkgbuild::with_build_tools(cxxfunction(sig = sig, body = body, 
  .     plugin = plugin, includes = includes, settings = settings, 
  .     ..., verbose = verbose), required = rstan_options("required") && 
  .     !identical(Sys.getenv("WINDOWS"), "TRUE") && !identical(Sys.getenv("R_PACKAGE_SOURCE"), 
  .     ""))
15. withr::with_path(rtools_path(), code)
16. force(code)
17. cxxfunction(sig = sig, body = body, plugin = plugin, includes = includes, 
  .     settings = settings, ..., verbose = verbose)
18. compileCode(f, code, language = language, verbose = verbose)
19. stop(tail(errmsg))

Error in sink(type = "output"): invalid connection
Traceback:

1. brm(formula = bf1, data = myData, prior = c(set_prior("cauchy(0,2)", 
 .     class = "sd"), set_prior("normal(0,3)", class = "b"), set_prior("lkj(2)", 
 .     class = "cor")), warmup = 200, iter = 1000, chains = 4, file = m1.File)
2. do_call(compile_model, compile_args)
3. eval2(call, envir = args, enclos = parent.frame())
4. eval(expr, envir, ...)
5. eval(expr, envir, ...)
6. .fun(model = .x1, backend = .x2, threads = .x3)
7. .compile_model(model, ...)
8. do_call(rstan::stan_model, args)
9. eval2(call, envir = args, enclos = parent.frame())
10. eval(expr, envir, ...)
11. eval(expr, envir, ...)
12. .fun(model_code = .x1)
13. cxxfunctionplus(signature(), body = paste(" return Rcpp::wrap(\"", 
  .     model_name, "\");", sep = ""), includes = inc, plugin = "rstan", 
  .     save_dso = save_dso | auto_write, module_name = paste("stan_fit4", 
  .         model_cppname, "_mod", sep = ""), verbose = verbose)
14. sink(type = "output")

任何人都可以解释一下这一切意味着什么,我应该怎么做才能使brm函数起作用?我不知道从哪里开始

0 个答案:

没有答案