如何在RStudio中创建C++文件

技术如何在RStudio中创建C++文件这篇文章主要介绍了如何在RStudio中创建C++文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在RStudi

本文主要介绍如何在RStudio中创建一个C文件,具有一定的参考价值。有兴趣的朋友可以参考一下。希望大家看完这篇文章后收获多多。让边肖带你去了解它。

00-1010默认情况下,这里的每个人都安装了RStudio,我们都用它创建了一个C文件。从这里创建的一个优点是,它将直接显示一个示例代码,我们只需要对它进行一些更改。

首先我们选择:文件——新文件3354 c RStudio中的文件,新建一个文件,包含以下内容(这里要在R中安装Rcpp包,如果没有安装,点击这里RStudio会自动帮助安装):

#includeRcpp.h

使用usingnamespaceRcpp

//这是一个简单的exportingaC函数。你可以

//sources thisfunctionintoansessionsingthecpp :3360 sourcecpp

//函数(or variahesourcebuttontheeditortoolbar)。学习

//更多关于Rcppat:

//

//http://www.rcpp.org/

//http://adv-r . had . co . NZ/Rcpp . html

//http://gallery.rcpp.org/

//

//[[rcpp :3360 export]]

numericvectometwo(NumericVectorx){ 0

returnx * 2;

}

//您可以包含codeblocksinC文件处理器

//(usefulforestingand development)。TheRcodewillbeautomatically自动

//runafterhecompliance。

//

/***R

时间二(42)

*/我们根据以上英文说明逐行理解。

在RStudio中创建C++文件

#includeRcpp.h

使用usingnamespaceRcpp这是头文件,并使用Rcpp命名空间。普通C代码的前两行也是如此,这实际上与R中的库和Python中的导入非常相似。有了这个,我们可以在代码中命名一些R独有的对象形式,比如向量、矩阵、数据帧等。以便于R和c之间某些内容的相互传递

示例文件中的代码实际上命名了一个函数,该函数的输入和输出对象是数值向量。这个函数也很简单:将一个向量乘以2的运算。

如果要使用R中C文件定义的函数,需要在C中的函数上面增加//[[RCPP :3360 export]]需要注意的是,一个CPP文件可以在里面定义多个函数,但是只能传递出一个函数。

然后,我们可以通过单击文件右上角的Source将函数加载到变量空间中,或者直接在另一个R脚本文件中运行以下命令:

RC :3360 Source cpp(' desktop/my fun . CPP ')在示例文件中还有另一个技巧,就是将以下命令直接添加到我们的CPP文件中:

/***R

时间二(42)

*/加上这句话后,我们So

urce这个文件后,可以直接测试刚刚定义的函数,看看timesTwo(42)的运行结果,平时在测试的时候可以多多使用。

更多内容

关于Rcpp里面的一些常用数据类型与常用函数,可以参考博客:Rcpp相关知识整理,里面讲的很好。这里搬运一些内容过来:

数据类型 描述
int 整数型
double 数值型
bool 布尔型(TRUE, FALSE)
String 字符型
IntegerVector 整型向量
NumericVector 数值型向量(元素的类型为double)
ComplexVector 复数向量
LogicalVector 逻辑型向量; R的逻辑型变量可以取三种值:TRUE, FALSE, NA; 而C++布尔值只有两个,true or false。如果将R的NA转化为C++中的布尔值,则会返回true。
CharacterVector 字符型向量
IntegerMatrix 整型矩阵
NumericMatrix 数值型矩阵(元素的类型为double)
LogicalMatrix 逻辑型矩阵
CharacterMatrix 字符矩阵
List 列表;lists;类似于R中列表,其元素可以使任何数据类型
DataFrame 数据框;data frames;在Rcpp内部,数据框其实是通过列表实现的
Function 函数型
Environment 环境型;可用于引用R环境中的函数、其他R包中的函数、操作R环境中的变量
RObject 可以被R识别的类型

关于对矩阵以及数据框的一些基础操作与常用函数:

操作 描述
[n] 对于向量类型或者列表,访问第n个元素。对于矩阵类型,首先把矩阵的下一列接到上一列之下,从而构成一个长列向量,并访问第n个元素。不同于R,n从0开始。
(i,j) 对于矩阵类型,访问第(i,j)个元素。不同于R,i和j从0开始。不同于向量,此处用圆括号。
List[“name1”] 访问List中名为name1的元素。
DataFrame[“name2”] 访问DataFrame中,名为name2的列。
X.size() 返回X的长度;适用于向量或者矩阵,如果是矩阵,则先向量化
X.push_back(a) 将a添加进X的末尾;适用于向量
X.push_front(b) 将b添加进X的开头;适用于向量
X.ncol() 返回X的列数
X.nrow() 返回X的行数

感谢你能够认真阅读完这篇文章,希望小编分享的“如何在RStudio中创建C++文件”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/73739.html

(0)

相关推荐

  • 如何理解SaaS软件的技术缺陷以及解决方法

    技术如何理解SaaS软件的技术缺陷以及解决方法今天就跟大家聊聊有关如何理解SaaS软件的技术缺陷以及解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

    攻略 2021年10月29日
  • v-model 绑定对象不实时更新 原因和解决方案

    技术v-model 绑定对象不实时更新 原因和解决方案 v-model 绑定对象不实时更新 原因和解决方案今天遇到这样一个问题动态的向一个被绑定的对象中添加属性。Vue 无法检测 property

    礼包 2021年11月1日
  • 香辣鱼片的家常做法,香辣鱼条的简单做法是什么

    技术香辣鱼片的家常做法,香辣鱼条的简单做法是什么我是刘涛美食,感谢邀请香辣鱼片的家常做法。到超市去买那种袋装的龙利鱼,又没有刺,容易新手操作,而且那种鱼的口感特别嫩,又没有什么腥味。我来说下最简单又实用的操作方法:
    1:

    生活 2021年10月26日
  • C#基础语法之-泛型

    技术C#基础语法之-泛型 C#基础语法之-泛型泛型:一共7个知识点
    1.引入泛型,延迟声明
    2.如何声明和使用泛型
    3.泛型的好处和原理
    4.泛型类,泛型方法,泛型接口,泛型委托
    5.泛型约束
    6.协变

    礼包 2021年12月18日
  • 数据结构index是什么(数据库索引可以用hash实现吗)

    技术数据库中plan_hash_value有什么用这篇文章给大家分享的是有关数据库中plan_hash_value有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

    攻略 2021年12月13日
  • 如何让充分利用R+Python

    技术如何让充分利用R+Python今天就跟大家聊聊有关如何让充分利用R+Python,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。如果你从事数据科学的工作,可能会

    2021年10月26日