Are there pointers somewhere for the Stan team on how to create a shareable project template?
The Stan team has their own active Discourse instance at http://discourse.mc-stan.org; you could probably ask there and get a reply in short order.
@bgoodri It looks to me as if you can do the following:
Create an RStudio Cloud project that has code in .Rprofile to manipulate Makevars as needed
Add other packages, scripts, etc. as necessary to the project
Set the project as viewable by "Everyone"
Share the link with the project. Viewers will get their own temporary copy of the project which they can play with (and optionally save a permanent copy to their account).
OK, thanks. I will try this.
It is also possible to preserve a swapfile for a project? Many simple Stan programs do compile with
clang++-3.8 and ~4GB of RAM, but ones that use more matrix algebra (i.e. Eigen templates) still do not.
Where does this swapfile get written?
And just to remind folks, for now there is a 1GB limit to the available RAM.
I made my Stan project (with a .Rprofile that writes a ~/.R/Makevars file) viewable by everyone at
It still cannot compile some of the more complicated Stan programs, but you can compile a lot of them. About 488 of the 505 programs accessible via
dir("~", all.files = TRUE)
 "." ".." ".bash_history" ".bash_logout" ".bashrc" ".config" ".profile" ".R" ".Rprofile"  ".rstudio" "R"
OK, apparently you all were telling me repeatedly that I should have a
.Rprofile file in Stan project directory that configures the C++ toolchain, rather than (or in additional to) the .Rprofile file in the home directory, but I could not conceive of there being two .Rprofile files. It seems to be working now, so anyone who tried to fork my Stan project from
please fork again.
Chiming in to say this confusion is not uncommon! I think Efficient R Programming does a nice job laying out the whole picture: https://csgillespie.github.io/efficientR/set-up.html#location
Hi @jjallaire @josh @Robby . As you might have seen, Andrew Gelman blogged being able to use Stan on RStudio Cloud this AM, so hopefully it did not crash. Predictably, I am already hearing some grumbling about not being able to compile the Stan models people really want to run within the 1GB limit using clang++ 3.8. I think I could get a bit farther if my project that people are forking from had access to a version of clang++ that was at least 3.9 and hence supports ThinLTO. The end of this LLVM blog post claims that big memory gains can be achieved with it. It looks as if the Xenial repo has clang-3.9, clang-4.0, and clang-5.0.
It does, which would you prefer?
Let's try with
clang-5.0, although that may additionally require
lld-5.0 to link properly, which is also in the Xenial-updates repo. Thanks!
Could you direct message me something that I could use to verify that it accomplishes what you want that I could use to test in our staging environment before deploying to production?