Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在windows 10的Rstudio中编译rstan或Rcpp代码_R_Windows_Compilation_Rstan - Fatal编程技术网

无法在windows 10的Rstudio中编译rstan或Rcpp代码

无法在windows 10的Rstudio中编译rstan或Rcpp代码,r,windows,compilation,rstan,R,Windows,Compilation,Rstan,我无法在Windows上编译Rcpp或rstan代码 当我试图编译rstan程序(如下)时,我收到了错误 编译代码中出现错误(f,代码,语言=语言,详细=详细) : 在C:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/RcppCommon.h:29中包含的文件中, 从…起 C:/Users/thean/AppData/Local/Temp/Rtmp0kEsr

我无法在Windows上编译
Rcpp
rstan
代码

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

编译代码中出现错误(f,代码,语言=语言,详细=详细) : 在C:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/RcppCommon.h:29中包含的文件中, 从…起 C:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/Rcpp.h:27

从文件18045ECF22E4.cpp:7:C:/Users/thean/AppData/Local/Temp/Rtmp0kEsrn/downloaded_packages/rJava_0.9-13.zip/Rcpp/include/Rcpp/r/headers.h:71:10: 致命错误:R.h:没有这样的文件或目录#include
^~~~~编译已终止。生成:*** [C:/PROGRA~1/R/R-40~1.1/etc/x64/Makeconf:229:file18045ecf22e4.o] 错误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”。当我运行
库(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) 

由于没有提及,这可能只是一个路径问题

将Rtools放到路径上

安装完成后,您需要再执行一个步骤才能编译R包:您需要将Rtools make实用程序(bash、make等)的位置放在路径上

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

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

这是最后一步。

是否安装了rtools?27指打印的错误中引用的
Rcpp.h
中的行号@user20650的重点可能是您需要关注的地方,不过(rtools)欢迎使用堆栈溢出。如果您使用的是R4.x,请从此处安装RTools:。如果您仍在使用R3.x,则可能需要添加可从Rtools 4.0获取的Rtools35.exe,而我使用的是Rstudio而不是R,并且仍然收到相同的错误消息。@JonBurksJr;您能否确认已将路径设置为Rtools。您能否确认
库(Rcpp);evalCpp(“2+2”)
请进行评估。感谢您展示这一点。op确实确认了
Sys.which(“make”)
指向rtools
make
可执行文件,这表明它确实已被添加到路径@user20650,
Sys。根据最初的帖子,which(“make”)
是“”,这使得我的答案非常可信。@Jon,你试着检查一下这是否有帮助吗?有兴趣知道;)
> 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
writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")