R语言之使用C++开发R包

R语言之使用C++开发R包

引言

作为一名R的忠实用户,我深深的体会到了R作为利剑般的简捷实用性,但是随着统计模型越来越复杂,数据量越来越大,我也深切的感受到效率变成了这门语言的瓶颈!
于是乎有了Rcpp横空出世,Rcpp作为R与C++无缝衔接的接口,它让我们享受到了C++的高性能与R的简洁实用。
当然对于大多数的R用户都不会使用Rcpp,再加上R本身的小众、效率慢,这也可能导致了R本身发展的很慢!!!当然我们希望R以后做的越来越好。
下面我简单的赘述一下当时学习Rcpp的简单历程:

使用Rcpp开发R包

因为牵涉到并行计算,R作为底层写出的代码在并行计算中又较慢,所以想把Rcpp写出来的代码放到并行计算中实现高性能计算,但是Rcpp编译的函数无法传入到主流的并行计算包。我们必须把Rcpp编译的函数写到包里,创建新包,再加载包,这样Rcpp编译的函数就可以传到并行计算中了。
下面我来说一下创建包的方法:

library(Rcpp)
getwd()
setwd("E:/packages") 
##因为包中的函数 depend RcppArmadillo
RcppArmadillo::RcppArmadillo.package.skeleton("jis")
setwd("E:/packages/jis")

Rcpp::compileAttributes()
setwd("E:/packages")
library(devtools)
check("jis")
build("jis")
install.packages("E:/packages/jis_1.0.tar.gz",repos = NULL,
                  type = "source")

在这里插入图片描述
最后欢迎有问题有想法的同学来交流!!!

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麻利麻利哄吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值