gpt4 book ai didi

r - 无法使用 Windows 10 在 Rstudio 中编译 rstan 或 Rcpp 代码

转载 作者:行者123 更新时间:2023-12-03 11:07:33 29 4
gpt4 key购买 nike

我无法在 Windows 上编译 Rcpprstan 代码。

当我尝试编译 rstan 程序(如下)时,我收到错误

Error in compileCode(f, code, language = language, verbose = verbose):In file included from C:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/RcppCommon.h:29,fromC:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/Rcpp.h:27,

from file18045ecf22e4.cpp:7:C:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/Rcpp/r/headers.h:71:10:fatal error: R.h: No such file or directory #include <R.h>
^~~~~compilation terminated.make: ***[C:/PROGRA~1/R/R-40~1.1/etc/x64/Makeconf:229: file18045ecf22e4.o]Error 1

如果我尝试在 Rstudio 中运行以下命令,它会重新下载 Rtools,但它已被下载

library(Rcpp); evalCpp("2+2") 

和运行

Sys.which("make") 
"C:\\rtools40\\usr\\bin\\make.exe"

此外,当我在命令窗口中运行 Sys.which("make") 时,它只有 "",而不是 "C:\rtools40\usr\bin\make.exe”。当我运行 library(Rcpp); evalCpp("2+2") 它产生了这个胎面的原始错误


最初的问题与在尝试编译 rstan 程序时收到错误有关。

我正在使用下面的代码

library(StanHeaders)

library(rstan)
values = list(y = rnorm(1000,5,3))

model ="

data {
real y[1000];
}

parameters {
real mu;
real sigma;
}

model {
mu ~ normal(0,10);
sigma ~ normal(0,10);
y ~ normal(mu,sigma);
}
"

fit <- stan(model_code = model, data = values, warmup = 500, iter = 1000,
chains = 4, cores = 2, thin = 1)
posterior = extract(fit)

我不断收到此错误消息:

Error in compileCode(f, code, language = language, verbose = verbose) : 
In file included from C:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/RcppCommon.h:29, from C:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/Rcpp.h:27,
from file18045ecf22e4.cpp:7:C:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/Rcpp/r/headers.h:71:10: fatal error: R.h: No such file or directory #include <R.h> ^~~~~compilation terminated.make: *** [C:/PROGRA~1/R/R-40~1.1/etc/x64/Makeconf:229: file18045ecf22e4.o] Error 1

当我转到这个目录时,我没有 Rcpp.h:27,但我有 Rcpp.h。在所有文件上都是这样。请帮忙。谢谢


sessionInfo()

> R version 4.0.1 (2020-06-06) Platform: x86_64-w64-mingw32/x64 (64-bit)
> Running under: Windows 10 x64 (build 18362)
>
> Matrix products: default
>
> locale: [1] LC_COLLATE=English_United States.1252
> LC_CTYPE=English_United States.1252 LC_MONETARY=English_United
> States.1252 [4] LC_NUMERIC=C
> LC_TIME=English_United States.1252
>
> attached base packages: [1] stats graphics grDevices utils
> datasets methods base
>
> other attached packages: [1] rstan_2.21.2 ggplot2_3.3.2
> StanHeaders_2.21.0-6 Rcpp_1.0.5
>
> loaded via a namespace (and not attached): [1] compiler_4.0.1
> pillar_1.4.6 prettyunits_1.1.1 remotes_2.2.0 tools_4.0.1
> pkgbuild_1.1.0 [7] jsonlite_1.7.0 lifecycle_0.2.0
> tibble_3.0.3 gtable_0.3.0 pkgconfig_2.0.3 rlang_0.4.7
> [13] cli_2.0.2 rstudioapi_0.11 curl_4.3
> parallel_4.0.1 loo_2.3.1 gridExtra_2.3 [19]
> withr_2.2.0 dplyr_1.0.2 generics_0.0.2 vctrs_0.3.4
> stats4_4.0.1 grid_4.0.1 [25] tidyselect_1.1.0
> glue_1.4.2 inline_0.3.15 R6_2.4.1
> processx_3.4.3 fansi_0.4.1 [31] callr_3.4.3
> purrr_0.3.4 magrittr_1.5 codetools_0.2-16
> matrixStats_0.56.0 scales_1.1.1 [37] ps_1.3.4
> ellipsis_0.3.1 assertthat_0.2.1 colorspace_1.4-1 V8_3.2.0
> RcppParallel_5.0.2 [43] munsell_0.5.0 crayon_1.3.4

最佳答案

因为没有提到,它可能只是一个路径问题。

Putting Rtools on the PATH

After installation is complete, you need to perform one more step to be able to compile R packages: you need to put the location of the Rtools make utilities (bash, make, etc) on the PATH.

尝试在 R 控制台中执行一次以下命令:

writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")

最后一步 is necessary after Rtools installation .

关于r - 无法使用 Windows 10 在 Rstudio 中编译 rstan 或 Rcpp 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63749191/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com