简体   繁体   English

在R中加载Rstan的问题

[英]Problems with loading Rstan in R

I have installed RStan for R. The installation seems to be successful, but when I load the package and use it, I keep getting the error message indicating Rstan isn't installed: 我已经安装了Rtan的RStan。安装似乎已成功,但是当我加载该软件包并使用它时,我不断收到错误消息,指示未安装Rstan:

> source("http://mc-stan.org/rstan/stan.R")
    > fit <- stan("7b Class.stan", data=list(N=1187, J=J, y=earn, height=height, male=male, edu=ed, cluster=cluster), iter=1000, chains=4)
    Fejl i packageDescription("rstan")$Date : 
      $ operator is invalid for atomic vectors
    In addition: Advarselsbesked:
    In packageDescription("rstan") : no package 'rstan' was found

I have a Mac OS.X 10.7.5. 我有Mac OS.X 10.7.5。 I have recently upgraded my R to 3.1.3 and I use R-studio as an interface. 我最近将R升级到3.1.3,并且使用R-studio作为接口。 For the installation of Rstan I have followed the description from here: https://github.com/stan-dev/rstan/wiki/RStan-Mac-OS-X-Prerequisite-Installation-Instructions 对于Rstan的安装,我遵循此处的描述: https : //github.com/stan-dev/rstan/wiki/RStan-Mac-OS-X-Prerequisite-Installation-Instructions

I have installed X-code and the Command Line Tools (Mac OS.X Lion) through Apple Developer and when I check in R whether is correctly installed, I get this message: 我已经通过Apple Developer安装了X代码和命令行工具(Mac OS.X Lion),当我在R中检查是否已正确安装时,收到以下消息:

> system('clang++ -v')
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix  

When I install Stan in R, I get following message: 在R中安装Stan时,出现以下消息:

> #Install STAN - https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started
> ###Step 1 - Set numbers of processes to uge
> Sys.setenv(MAKEFLAGS = "-j4")
> ###Step 2 - Run the script
> source('http://mc-stan.org/rstan/install.R', echo = TRUE, max.deparse.length = 2000)

> install_rstan <- function() {
+   on.exit(Sys.unsetenv("R_MAKEVARS_USER"))
+   on.exit(Sys.unsetenv("R_MAKEVARS_SITE"), add = TRUE)
+ 
+   try(remove.packages("rstan"), silent = TRUE)
+   Sys.setenv(R_MAKEVARS_USER = "foobar")
+   Sys.setenv(R_MAKEVARS_SITE = "foobar")
+   install.packages(c("inline", "BH", "RcppEigen"))
+   install.packages("Rcpp", type = "source")
+   library(inline) 
+   library(Rcpp)
+   src <- ' 
+     std::vector<std::string> s; 
+     s.push_back("hello");
+     s.push_back("world");
+     return Rcpp::wrap(s);
+   '
+   hellofun <- cxxfunction(body = src, includes = '', plugin = 'Rcpp', verbose = FALSE)
+   test <- try(hellofun())
+   if(inherits(test, "try-error")) stop("hello world failed; ask for help on Rcpp list")
+ 
+   options(repos = c(getOption("repos"), 
+           rstan = "http://rstan.org/repo/"))
+   install.packages("rstan", type = 'source')
+   library(rstan)
+   set_cppo("fast")
+   if (any(grepl("^darwin", R.version$os, ignore.case = TRUE))) {
+     cat('\nCC=clang', 'CXX=clang++ -arch x86_64 -ftemplate-depth-256', 
+         file = "~/.R/Makevars", sep = "\n", append = TRUE)
+   }
+   return(invisible(NULL))
+ }
> install_rstan()
Removing package from ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library’
(as ‘lib’ is unspecified)
Error in remove.packages : there is no package called ‘rstan’
trying URL 'http://cran.rstudio.com/bin/macosx/contrib/3.1/inline_0.3.13.tgz'
Content type 'application/x-gzip' length 78503 bytes (76 KB)
opened URL
==================================================
downloaded 76 KB

trying URL 'http://cran.rstudio.com/bin/macosx/contrib/3.1/BH_1.55.0-3.tgz'
Content type 'application/x-gzip' length 7455235 bytes (7.1 MB)
opened URL
==================================================
downloaded 7.1 MB

trying URL 'http://cran.rstudio.com/bin/macosx/contrib/3.1/RcppEigen_0.3.2.4.0.tgz'
Content type 'application/x-gzip' length 3335332 bytes (3.2 MB)
opened URL
==================================================
downloaded 3.2 MB


The downloaded binary packages are in
    /var/folders/0x/zkhg5kyd7j3199jkj76v9p340000gn/T//Rtmpk2CfrS/downloaded_packages
Error in install.packages : Updating loaded packages

Attaching package: ‘inline’

The following object is masked from ‘package:Rcpp’:

    registerPlugin

trying URL 'http://rstan.org/repo/src/contrib/rstan_2.6.0.tar.gz'
Content type 'application/x-gzip' length 1423850 bytes (1.4 MB)
opened URL
==================================================
downloaded 1.4 MB

ERROR: failed to lock directory ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library’ for modifying
Try removing ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library/00LOCK-rstan’
Warning in install.packages :
  installation of package ‘rstan’ had non-zero exit status

The downloaded source packages are in
    ‘/private/var/folders/0x/zkhg5kyd7j3199jkj76v9p340000gn/T/Rtmpk2CfrS/downloaded_packages’
Fejl i library(rstan) : there is no package called ‘rstan’
Called from: top level 

Restarting R session...

> install.packages("Rcpp", type = "source")
trying URL 'http://cran.rstudio.com/src/contrib/Rcpp_0.11.5.tar.gz'
Content type 'application/x-gzip' length 2353791 bytes (2.2 MB)
opened URL
==================================================
downloaded 2.2 MB

* installing *source* package ‘Rcpp’ ...
** package ‘Rcpp’ successfully unpacked and MD5 sums checked
** libs
llvm-g++-4.2 -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I../inst/include/ -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include"   -fPIC  -mtune=core2 -g -O2  -c Date.cpp -o Date.o
llvm-g++-4.2 -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I../inst/include/ -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include"   -fPIC  -mtune=core2 -g -O2  -c Module.cpp -o Module.o
llvm-g++-4.2 -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I../inst/include/ -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include"   -fPIC  -mtune=core2 -g -O2  -c Rcpp_init.cpp -o Rcpp_init.o
llvm-g++-4.2 -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I../inst/include/ -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include"   -fPIC  -mtune=core2 -g -O2  -c api.cpp -o api.o
llvm-g++-4.2 -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I../inst/include/ -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include"   -fPIC  -mtune=core2 -g -O2  -c attributes.cpp -o attributes.o
llvm-g++-4.2 -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I../inst/include/ -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include"   -fPIC  -mtune=core2 -g -O2  -c barrier.cpp -o barrier.o
llvm-g++-4.2 -arch x86_64 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -L/usr/local/lib -o Rcpp.so Date.o Module.o Rcpp_init.o api.o attributes.o barrier.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (Rcpp)

The downloaded source packages are in
    ‘/private/var/folders/0x/zkhg5kyd7j3199jkj76v9p340000gn/T/RtmpZSUb93/downloaded_packages’

Then I read in rstan: library(rstan) and I get the message that there is no package called Rstan. 然后,我读入rstan: library(rstan)然后得到一条消息,即没有名为Rstan的软件包。

I hope someone can see why Rstan will not run for me. 我希望有人能明白为什么Rstan不会为我竞选。

You never loaded the package . 您从未加载过程序包 Use 采用

library(rstan)

to load the package into your current R session. 将程序包加载到当前的R会话中。

Load the package by 加载包裹

require("rstan")

or 要么

library("rstan")

Using require(rstan) fails because it tries to load from an object named rstan in the environment and fails to find such object. 使用require(rstan)失败,因为它试图从环境中名为rstan的对象中加载并且找不到该对象。 Hence you need to use the inverted quotes. 因此,您需要使用反引号。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM