## Rcpp: Seamless R and C++ Integration
[![Build Status](https://travis-ci.org/RcppCore/Rcpp.svg)](https://travis-ci.org/RcppCore/Rcpp)
[![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://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](https://cranlogs.r-pkg.org/badges/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.springer.com/gp/book/9781461468677)
[![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://amstat.tandfonline.com/doi/abs/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://www.jstatsoft.org/v40/i08/))
provides a good entry point to Rcpp as do the [Rcpp
website](http://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](http://www.rcpp.org/book/).
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 nine 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://amstat.tandfonline.com/doi/abs/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://www.jstatsoft.org/v40/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](http://www.rcpp.org/book/)
by Eddelbuettel (2013, Springer); see 'citation("Rcpp")' for details.
### 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 January 2021,
there are 2169 [CRAN](https://cran.r-project.org) packages using Rcpp, a further
207 [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.
### Installation
#### CRAN
Rcpp released on CRAN are carefully tested and curated. CRAN ensures they interoperate
with all other CRAN package on all test environment. The released and tested versions
are available via all mirrors of [CRAN](https://cran.r-project.org) network, and can be
installed from within R via
```R
install.packages("Rcpp")
```
#### Release Candidates
For the last several releases, we also made interim _candidate_ releases available
on the [Rcpp Drat Repo](https://RcppCore.github.io/drat/). Versions from a
[drat](https://github.com/eddelbuettel/drat) repo can be installed either by
just temporarily setting the [drat](https://github.com/eddelbuettel/drat) repo as in
```R
install.packages("Rcpp", repos="https://RcppCore.github.io/drat")
```
or by setting a [drat](https://github.com/eddelbuettel/drat) repo more permanently
(as described in the documentation of the [drat](https://github.com/eddelbuettel/drat)
package).
Testing the release candidates prior to actual release help. Please run this if you can.
#### Source
To install from source, ensure you have a complete package development
environment for R as discussed in the relevant documentation; also see
questions 1.2 and 1.3 in the
[Rcpp-FAQ](https://cran
没有合适的资源?快使用搜索试试~ 我知道了~
Rcpp:无缝的R和C ++集成
共746个文件
h:391个
r:111个
cpp:77个
5星 · 超过95%的资源 需积分: 20 9 下载量 24 浏览量
2021-02-05
14:41:42
上传
评论
收藏 2.63MB ZIP 举报
温馨提示
Rcpp:无缝的R和C ++集成
资源详情
资源评论
资源推荐
收起资源包目录
Rcpp:无缝的R和C ++集成 (746个子文件)
Rcpp.bib 28KB
Rcpp.bib 28KB
jss.bst 32KB
init.c 917B
init.c 887B
convolve2_c.c 647B
convolve7_c.c 642B
overhead_2.c 501B
ChangeLog 383KB
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 1KB
compat 2B
control 370B
copyright 1KB
attributes.cpp 137KB
date.cpp 45KB
sugar.cpp 29KB
rmath.cpp 22KB
Vector.cpp 19KB
Matrix.cpp 11KB
api.cpp 8KB
stats.cpp 8KB
wrap.cpp 8KB
module.cpp 7KB
dates.cpp 6KB
barrier.cpp 6KB
language.cpp 6KB
misc.cpp 6KB
Module.cpp 5KB
rcpp_init.cpp 5KB
DataFrame.cpp 4KB
Environment.cpp 4KB
RObject.cpp 3KB
piWithInterrupts.cpp 3KB
stdVector.cpp 3KB
stdVector.cpp 3KB
RcppExports.cpp 3KB
stack.cpp 3KB
String.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
convolve10_cpp.cpp 1021B
embeddedR2.cpp 994B
embeddedR.cpp 994B
rcpp_module.cpp 964B
rcppversion.cpp 954B
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
piSugar.cpp 273B
Exceptions_nocall.cpp 268B
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
DESCRIPTION 1KB
DESCRIPTION 530B
共 746 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
阚发景
- 粉丝: 16
- 资源: 4614
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1