R语言-rethinking包下载安装心得(windows)

本人科研萌新一枚,近期因为学习了一本McElreath 2020. Statistical Rethinking, 2nd edition, CRC Press ,需要使用到 R 语言的rethinking 包进行学习。但是在内网上苦苦搜寻了2h+,只找到了2~3篇有关的博客。由于博客中的信息有些因为英翻汉 而有所损失,因此折腾了好长的时间才最终成功的安装了rethinking包。希望后来的朋友不要因为这种小破事,白白浪费时间,因此写这篇博客。

、首先是 R 语言环境的安装,(截至2022年11月15日),本人建议安装 R 语言的,4.0版本(我是4.0.0)。不建议安装较高的版本如4.2.2,之前使用这个版本安装时,总是出现 “退出狀態的值不是0” 的报错,百度了一下说是版本不太匹配。因此,目前还是建议4.0版本。直接通过清华镜像下载就行,链接如下:

The Comprehensive R Archive Network (tsinghua.edu.cn)

 、R-studio的下载安装,建议R-studio版本直接最新,对我们rethinking包的安装没有影响,但是R-studio版本太低可能会影响(官方文档中提及)。R-studio可以之间在官网或者是软件管家下载。

、RTools 下载安装

rtools的版本也建议要和 R 的版本相对应(这是在其他博主那边看到的)。如果你和我一样使用的是 R 4.0.0,建议使用rtools4.0

下载官网:

RTools: Toolchains for building R and R packages from source on Windows (r-project.org)

安装后启动R写入:(环境配置)-->(这里是借鉴的其他博主)

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

 然后重新启动 R 并验证是否通过以下方式找到 RTools(若输出为空则配置失败):

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

然后就可以下一些资源包了,比如

install.packages("jsonlite", type = "source")

验证结果一直为空,大概是路径的问题,可选择直接用R创建文件并打开。

file.edit('~/.Renviron')

 、下载安装Rstan

目前,Rstan 发布的最新版本是 2.21.1 ,已有但未发布的是2.26.x (unreleased)

如果想安装2.26.x

# run the next line if you already have rstan installed
# remove.packages(c("StanHeaders", "rstan"))

install.packages("rstan", repos = c("https://mc-stan.org/r-packages/", getOption("repos")))

这里建议安装2.21.1,毕竟安装成功了。

首先建议通过以下方式删除任何现有的 RStan

remove.packages("rstan")
if (file.exists(".RData")) file.remove(".RData")

然后打开 R ,输入以下代码进行下载

Sys.setenv(DOWNLOAD_STATIC_LIBV8 = 1) # only necessary for Linux without the nodejs library / headers
install.packages("rstan", repos = "https://cloud.r-project.org/", dependencies = TRUE)

下载完成后,需要进行验证是否安装成功:

example(stan_model, package = "rstan", run.dontrun = TRUE)

如果出现如下信息,则安装有效

Warning message:
In system(paste(CXX, ARGS), ignore.stdout = TRUE, ignore.stderr = TRUE) :
  'C:/rtools40/usr/mingw_/bin/g++' not found

 如果是下面这部分,则说明安装出错了(本人在这块跌倒过好多次,最后是把版本之类的更换后,才成功)

Error in compileCode(f, code, language = language, verbose = verbose) : 
  C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Program Files/R/R-4.0.3/library/rstan/lib/x64/libStanServices.a(stan_fit.o):stan_fit.cpp:(.rdata$_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1[_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1]+0x0): multiple definition of `boost::math::detail::bessel_j0<long double>(long double)::P1'; file1da012a9cf.o:file1da012a9cf.cpp:(.data$_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1[_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1]+0x0): first defined hereC:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Program Files/R/R-4.0.3/library/rstan/lib/x64/libStanServices.a(stan_fit.o):stan_fit.cpp:(.rdata$_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2QC[_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2QC]+0x0): multiple definition of `boost::math::detail::bessel_j0<long double>(long double)::QC'; file1da012a9cf.o:file1da012a9cf.cpp:(.data$_ZZN5boos

 需要重新启动 R 并从源代码重新安装 rstan 和 StanHeaders:(如果版本不匹配,可能也没用)

# Compile packages using all cores
Sys.setenv(MAKEFLAGS = paste0("-j",parallel::detectCores()))

install.packages(c("StanHeaders","rstan"),type="source")

ps: 如果之前有其他版本的Rstan,可以通过以下方式删除(不想写了,直接截来官网的图)

 

 、安装cmdstanr

安装cmdstanr包,需要运行一下代码

请注意!!!要挂梯子才行!!不然一定会报错

# we recommend running this is a fresh R session or restarting your current session
install.packages("cmdstanr", repos = c("https://mc-stan.org/r-packages/", getOption("repos")))

 此外,官网还给出了从 GITHUB 上下载的一种方法

# install.packages("remotes")
remotes::install_github("stan-dev/cmdstanr")

,最后一步,安装rethinking

install.packages(c("coda","mvtnorm","devtools","loo","dagitty","shape"))
devtools::install_github("rmcelreath/rethinking")

如果只想完成课程(我学的书)的前半部分,而不用考虑 MCMC 和 Stan 安装,你可以安装rethinking 包的 slim 版本。

install.packages(c("coda","mvtnorm","devtools","loo","dagitty"))
devtools::install_github("rmcelreath/rethinking@slim")

检验是否安装成功,可输入如下代码 

growth <- replicate( 10000 , prod( 1 + runif(12,0,0.1) ) )
dens( growth , norm.comp=TRUE )

如果没有报错并输出如下结果,则安装成功:

 

 

参考博客:R语言的rthinking安装(windows)_Kudou_Kaito的博客-CSDN博客_.renviron

参考博客: R包rethinking的介绍_漫漫求索0910的博客-CSDN博客

参考网址:https://github.com/rmcelreath/rethinking

参考网址:RStan Getting Started · stan-dev/rstan Wiki · GitHub

参考网址:R Interface to CmdStan • cmdstanr

参考网址:Configuring C Toolchain for Windows · stan-dev/rstan Wiki · GitHub

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值