r-在C++中为Rcpp中的predict()输入创建数据帧
r - Creating Data Frame in C++ for predict() input in Rcpp
假设我们有一个回归模型,它将名为AA和BB的参数作为输入。假设AA和BB都是双的。
我知道我应该用C++创建一个数据帧,并将其作为参数传递给预测函数。我想知道我应该如何在C++中创建和传递数据帧?为什么以下代码不起作用?
Rcpp::DataFrame dfin = Rcpp::DataFrame::create(Rcpp::Named("AA")=1.1,Rcpp::Named("BB")=1.2);
std::string cmd2 = "predict(RegModel, todaydata = data.frame(dfin), "probs")";
vector<double> prob_vector_reg_output = R.parseEval(cmd2);
您可能会混淆Rcpp
(它确实为您创建了data.frame
对象)和RInside
(它允许您计算表达式)。
例如,看看RInside
示例中的examples/standard/rinside_sample3.cpp
:它显示您可以通过C++侧的RInside访问在R中计算的lm()
结果。您同样可以将数据传递给嵌入的R进程,但它仍然需要RInside
。
另一方面,通过Rcpp
构建的R扩展模块也可以访问R函数,但这是不同的(周围有很多例子)。
在任何一种情况下,预测步骤由R执行都将始终以R的速度执行,无论您是否从C++控制它。
相关文章:
- C++ 通过输入创建对象
- 如何使用用户输入创建字符串队列?
- 使用用户输入 C++ 创建 N 个不同的向量
- 如何根据用户输入创建和访问多个对象 - C++
- 根据用户输入创建使用C 的图形
- 使用用户输入创建JSON数据库
- 从输入创建最大可能的数字 - 使用 cout 实现问题
- 基于用户输入创建一个字符数组
- 如何使用输入创建函数是C++中的2D数组
- 程序基于用户输入创建多个线程不起作用(cin)
- 从用户输入创建多个类实例
- 基于命令行输入创建 2D 数组
- C++ 如何使用用户输入创建空心框/矩形
- 根据用户输入创建相应的派生类的最佳实践是什么?
- 通过从 CIN 获取运算符的输入创建类>>
- 从C++中的用户输入创建矩阵时出现问题
- 为多个用户输入创建一个结构和调用函数,并通过该结构来显示信息
- 基于用户输入创建n个学生结构
- c++为不符合条件的数据输入创建循环
- 使用来自文件的输入创建变量