Rcpp和RcppArmadillo如何创建R语言包
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,小编给大家分享一下Rcpp和RcppArmadillo如何创建R语言包,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.
千家信息网最后更新 2025年01月20日Rcpp和RcppArmadillo如何创建R语言包
小编给大家分享一下Rcpp和RcppArmadillo如何创建R语言包,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1. 预先准备
Windows下需要安装Rtools,R中装好Rcpp和RcppArmadillo。创建C++源文件func.cpp
,自定义头文件test_h.h
。
源文件示例func.cpp
// [[Rcpp::depends(RcppArmadillo)]]// [[Rcpp::plugins(cpp11)]]#include#include #include "./test_h.h"using namespace Rcpp;using namespace std;// using namespace arma;// [[Rcpp::export]]RObject func(){ arma::cube A(3,4,5,arma::fill::randu); std::cout<
// [[Rcpp::depends(RcppArmadillo)]]
:用于指明需要使用RcppArmadillo。
// [[Rcpp::plugins(cpp11)]]
:指明需要使用C++11。
#include "./test_h.h"
:表示使用第三方头文件。第三方头文件需要用双引号""
包括起来,并加上.h
。./
表示在当下文件夹(src)下搜寻文件。
// using namespace arma;
不一定有用。如果要用Armadillo的数据结构,在其之前需指明arma::
。
func()
函数将可以直接在R中调用。头文件示例test_h.h
#include#define CONDIT 1000 2. 创建R包步骤
新建R Package
选择Package w/Rcpp, 并添加源文件。或者建立包以后,手动复制到src文件夹下。
R包的文件结构
修改DESCRIPTION文件
将RcppArmadillo添加进Imports和LinkingTo中。
Package: RcppPackTestType: PackageTitle: What the Package Does (Title Case)Version: 0.1.0Author: Who wrote itMaintainer: The package maintainerDescription: More about what it does (maybe more than one line) Use four spaces when indenting paragraphs within the Description.License: What license is it under?Encoding: UTF-8LazyData: trueImports: Rcpp (>= 0.12.11), RcppArmadilloLinkingTo: Rcpp, RcppArmadillo Build & Reload 建立包
3. C++11标准问题
如果要使用C++11标准,第一种方法是在Makevars文件中添加如下代码:
CXX = g++-4.8.1PKG_CXXFLAGS = -std=c++11第二种方法是在.cpp文件前添加// [[Rcpp::plugins(cpp11)]]
以上是"Rcpp和RcppArmadillo如何创建R语言包"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
文件
源文件
篇文章
语言
内容
文件夹
方法
是在
标准
示例
第三方
结构
不怎么
代码
函数
大部分
引号
手动
数据
数据结构
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库加密的系统与实现
安徽工控软件开发哪家实惠
怎么根据关键字筛选数据库
软件开发几个角色
激活手机时应用与数据库
关于软件开发方法正确的是
网易游戏的服务器网管叫什么
我的世界服务器武器
网络安全要学计算机网络吗
FTP软件传输网络安全
星晨互联网科技
出名软件开发公司
ipad上的数据库怎么使用
十一网络技术有限公司
数据库如何关闭文件
网络技术职业生涯规划两千字
计算机网络技术工作状况
分控管理服务器
数据库建表字段可以为空
聚焦网络技术有限
江苏戴尔服务器续保调试
数据库组件委托表
软件开发公司与乙方协议
重庆直播软件开发项目交流
数据库打不开汉字怎么办
数据库如何关闭文件
珠海网络技术有限公司
微信小程序读取数据库
手机怎么看外卖软件的数据库
魔兽世界更改默认服务器