## Rcpp: Seamless R and C++ Integration
[![CI](https://github.com/RcppCore/Rcpp/workflows/ci/badge.svg)](https://github.com/RcppCore/Rcpp/actions?query=workflow%3Aci)
[![License](https://eddelbuettel.github.io/badges/GPL2+.svg)](https://www.gnu.org/licenses/gpl-2.0.html)
[![CRAN](https://www.r-pkg.org/badges/version/Rcpp)](https://cran.r-project.org/package=Rcpp)
[![Dependencies](https://tinyverse.netlify.com/badge/Rcpp)](https://cran.r-project.org/package=Rcpp)
[![Coverage Status](https://codecov.io/gh/RcppCore/Rcpp/graph/badge.svg)](https://app.codecov.io/github/RcppCore/Rcpp?branch=master)
[![Debian package](https://img.shields.io/debian/v/r-cran-rcpp/sid?color=brightgreen)](https://packages.debian.org/sid/r-cran-rcpp)
[![Last Commit](https://img.shields.io/github/last-commit/RcppCore/Rcpp)](https://github.com/RcppCore/Rcpp)
[![Downloads (monthly)](https://cranlogs.r-pkg.org/badges/Rcpp?color=brightgreen)](https://www.r-pkg.org/pkg/Rcpp)
[![Downloads (total)](https://cranlogs.r-pkg.org/badges/grand-total/Rcpp?color=brightgreen)](https://www.r-pkg.org/pkg/Rcpp)
[![CRAN use](https://jangorecki.gitlab.io/rdeps/Rcpp/CRAN_usage.svg?sanitize=true)](https://cran.r-project.org/package=Rcpp)
[![CRAN indirect](https://jangorecki.gitlab.io/rdeps/Rcpp/indirect_usage.svg?sanitize=true)](https://cran.r-project.org/package=Rcpp)
[![BioConductor use](https://jangorecki.gitlab.io/rdeps/Rcpp/BioC_usage.svg?sanitize=true)](https://cran.r-project.org/package=Rcpp)
[![StackOverflow](https://img.shields.io/badge/stackoverflow-rcpp-orange.svg)](https://stackoverflow.com/questions/tagged/rcpp)
[![JSS](https://img.shields.io/badge/JSS-10.18637%2Fjss.v040.i08-brightgreen)](https://dx.doi.org/10.18637/jss.v040.i08)
[![Springer useR!](https://img.shields.io/badge/Springer%20useR!-10.1007%2F978--1--4614--6868--4-brightgreen)](https://www.amazon.com/gp/product/1461468671/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1461468671&linkCode=as2&tag=rcpp-20&linkId=3P5LNUWOAQ2YMEJ6)
[![TAS](https://img.shields.io/badge/TAS-10.1080%2F00031305.2017.1375990-brightgreen)](https://dx.doi.org/10.1080/00031305.2017.1375990)
### Synopsis
The [Rcpp package](https://cran.r-project.org/package=Rcpp) integrates R and C++ via R functions and a (header-only) C++ library.
All underlying R types and objects, _i.e._, everything a `SEXP` represents internally
in R, are matched to corresponding C++ objects. This covers anything from vectors,
matrices or lists to environments, functions and more. Each `SEXP` variant is
automatically mapped to a dedicated C++ class. For example, numeric vectors are
represented as instances of the `Rcpp::NumericVector` class, environments are
represented as instances of `Rcpp::Environment`, functions are represented as
`Rcpp::Function`, etc ... The
[Rcpp-introduction](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-introduction.pdf)
vignette (now published as a
[TAS paper](https://doi.org/10.1080/00031305.2017.1375990); an
[earlier introduction](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-jss-2011.pdf)
was also published as a [JSS paper](https://doi.org/10.18637/jss.v040.i08)
provides a good entry point to Rcpp as do the [Rcpp
website](https://www.rcpp.org), the [Rcpp
page](https://dirk.eddelbuettel.com/code/rcpp.html) and the [Rcpp
Gallery](https://gallery.rcpp.org). Full documentation is provided by the
[Rcpp book](https://www.amazon.com/gp/product/1461468671/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1461468671&linkCode=as2&tag=rcpp-20&linkId=3P5LNUWOAQ2YMEJ6).
Other highlights:
- The conversion from C++ to R and back is driven by the templates `Rcpp::wrap`
and `Rcpp::as` which are highly flexible and extensible, as documented
in the [Rcpp-extending](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-extending.pdf) vignette.
- Rcpp also provides Rcpp modules, a framework that allows exposing
C++ functions and classes to the R level. The [Rcpp-modules](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-modules.pdf) vignette
details the current set of features of Rcpp-modules.
- Rcpp includes a concept called Rcpp sugar that brings many R functions
into C++. Sugar takes advantage of lazy evaluation and expression templates
to achieve great performance while exposing a syntax that is much nicer
to use than the equivalent low-level loop code. The [Rcpp-sugar](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-sugar.pdf)
gives an overview of the feature.
- Rcpp attributes provide a high-level syntax for declaring C++
functions as callable from R and automatically generating the code
required to invoke them. Attributes are intended to facilitate both
interactive use of C++ within R sessions as well as to support R
package development. Attributes are built on top of Rcpp modules and
their implementation is based on previous work in the inline package.
See the [Rcpp-atttributes](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-attributes.pdf) vignettes for more details.
### Documentation
The package ships with ten pdf vignettes, including a [recent introduction to
Rcpp](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-introduction.pdf) now
published as a [paper in
TAS](https://doi.org/10.1080/00031305.2017.1375990) (and as a
[preprint in PeerJ](https://peerj.com/preprints/3188/)). Also available is an
[earlier
introduction](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-jss-2011.pdf)
which was published as a [JSS paper](https://doi.org/10.18637/jss.v040.i08).
Among the other vignettes are the [Rcpp
FAQ](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-FAQ.pdf) and the
introduction to [Rcpp
Attributes](https://cran.r-project.org/package=Rcpp/vignettes/Rcpp-attributes.pdf).
Additional documentation is available via the [Rcpp book](https://www.amazon.com/gp/product/1461468671/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1461468671&linkCode=as2&tag=rcpp-20&linkId=3P5LNUWOAQ2YMEJ6)
by Eddelbuettel (2013, Springer); see 'citation("Rcpp")' for details.
### Performance
Rcpp follows the C++ motto of _"you pay only for what you use"_ and imposes
no _run-time_ performance penalty: Rcpp outperforms related packages in
direct comparison, see for example [this repo for
details](https://github.com/eddelbuettel/ldlasb).
Compile-time performance can be tuned by selecting components. But it is also
worth noting that use of [`ccache`](https://ccache.dev/) will (strongly)
dominate all such possible component choices, we have [previously
recommended](https://dirk.eddelbuettel.com/blog/2017/11/27/) its use.
### Examples
The [Rcpp Gallery](https://gallery.rcpp.org) showcases over one hundred fully
documented and working examples. The
[package RcppExamples](https://cran.r-project.org/package=RcppExamples) contains a few basic
examples covering the core data types.
A number of examples are included, as are well over one thousand unit tests which provide
additional usage examples.
An earlier version of Rcpp, containing what we now call the 'classic Rcpp
API' was written during 2005 and 2006 by Dominick Samperi. This code has
been factored out of Rcpp into the package RcppClassic, and it is still
available for code relying on the older interface. New development should
always use this Rcpp package instead.
Other usage examples are provided by packages using Rcpp. As of early July
2023, there are 2712 [CRAN](https://cran.r-project.org) packages using Rcpp
(corresponding to 13.7% of all packages, and 59.5% of packages containing
compiled code), a further 250 [BioConductor](https://www.bioconductor.org)
packages in its current release as well as an unknown number of GitHub,
Bitbucket, R-Forge, ... repositories using Rcpp. All these packages provide
usage examples for Rcpp. The package is in widespread use and has been
downloaded over 72.3 million times (per the partial logs from the cloud mirrors
of CRAN).
### Installation
#### CRAN
Rcpp released on CRAN are carefully tested and curat
没有合适的资源?快使用搜索试试~ 我知道了~
Seamless R and C++ Integration.zip
共759个文件
h:391个
r:113个
cpp:79个
需积分: 5 0 下载量 177 浏览量
2023-12-31
11:01:58
上传
评论
收藏 3.03MB ZIP 举报
温馨提示
Seamless R and C++ Integration
资源推荐
资源详情
资源评论
收起资源包目录
Seamless R and C++ Integration.zip (759个子文件)
Rcpp.bib 30KB
Rcpp.bib 30KB
jss.bst 32KB
init.c 917B
init.c 887B
convolve2_c.c 647B
convolve7_c.c 642B
overhead_2.c 501B
ChangeLog 402KB
changelog 333B
r-cran-testrcpppackage_0.1.0-1_i386.changes 2KB
r-cran-testrcpppackage_0.1.0-1_amd64.changes 2KB
CITATION 2KB
cleanup 2KB
compat 2B
control 370B
copyright 1KB
attributes.cpp 141KB
date.cpp 45KB
sugar.cpp 29KB
rmath.cpp 22KB
Vector.cpp 19KB
Matrix.cpp 11KB
api.cpp 9KB
stats.cpp 8KB
wrap.cpp 8KB
module.cpp 7KB
barrier.cpp 6KB
dates.cpp 6KB
language.cpp 6KB
misc.cpp 6KB
Module.cpp 5KB
DataFrame.cpp 5KB
rcpp_init.cpp 5KB
Environment.cpp 4KB
RObject.cpp 3KB
String.cpp 3KB
piWithInterrupts.cpp 3KB
RcppExports.cpp 3KB
stdVector.cpp 3KB
stdVector.cpp 3KB
stack.cpp 3KB
rcpp_test.cpp 3KB
algorithm.cpp 2KB
support.cpp 2KB
XPtr.cpp 2KB
Function.cpp 2KB
rcpp_module.cpp 2KB
Subset.cpp 2KB
S4.cpp 2KB
rcpp_module.cpp 2KB
ListOf.cpp 2KB
stdVector.cpp 2KB
as.cpp 2KB
exceptions.cpp 2KB
Num.cpp 2KB
modref.cpp 2KB
convolve9_cpp.cpp 1KB
Num.cpp 1KB
InternalFunctionCPP11.cpp 1KB
dispatch.cpp 1KB
attributes.cpp 1KB
table.cpp 1KB
InternalFunction.cpp 1KB
VectorOld.cpp 1KB
convolve8_cpp.cpp 1KB
na.cpp 1KB
Timertest.cpp 1KB
Reference.cpp 1KB
coerce.cpp 1024B
convolve10_cpp.cpp 1021B
rcppversion.cpp 998B
embeddedR.cpp 994B
embeddedR2.cpp 994B
rcpp_module.cpp 964B
Depends.cpp 840B
wstring.cpp 835B
Export.cpp 743B
convolve13_cpp.cpp 705B
convolve12_cpp.cpp 676B
convolve4_cpp.cpp 675B
convolve11_cpp.cpp 626B
convolve14_cpp.cpp 624B
convolve3_cpp.cpp 584B
Num.cpp 575B
convolve5_cpp.cpp 550B
overhead_1.cpp 498B
rcpp_hello_world.cpp 454B
user.cpp 376B
exporter.cpp 356B
rcpp_hello_world_attributes.cpp 281B
rcpp_hello_world.cpp 280B
rcpp_hello_world.cpp 280B
rcpp_hello_world.cpp 276B
Exceptions_nocall.cpp 268B
piSugar.cpp 233B
r-cran-testrcpppackage_0.1.0-1_amd64.deb 16KB
r-cran-testrcpppackage_0.1.0-1_amd64.deb 16KB
r-cran-testrcpppackage_0.1.0-1_i386.deb 16KB
r-cran-testrcpppackage_0.1.0-1_i386.deb 16KB
共 759 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
暮苍梧~
- 粉丝: 41
- 资源: 258
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- TG-2024-05-23-204718255.mp4
- 候志强@181 5428 8938_20240420112107.amr
- spispispispispi
- 实验二:IP协议分析.zip
- 驱动代码驱动代码驱动代码驱动代码
- SVID_20240523_141155_1.mp4
- Code for the complete guide to tkinter tutorial
- 关于百货中心供应链管理系统.zip
- SimpleFolderIcon-master 修改Unity的Project下的文件夹图标
- A python Tkinter widget to display tile based maps
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功