首页 > 解决方案 > Rcpp:在构建 cppFunction() 时从现有 R 包中调用函数

问题描述

我正在使用Rcpp包将此 R 函数转换为 C++ 函数。但是,由于rdiscrete()函数来自e1071包,我正在努力加载现有的 R 包并从这个包中调用函数。

R功能(工作正常):

library(e1071)
signR <- function(x) {
if (x >= 0) {
rdiscrete(10,c(0.2,0.8),c(5,6))
 } else {
rdiscrete(10,c(0.2,0.8),c(1,2))
 }
}
## Example
signR(2)

Rcpp 版本(错误指向rdiscrete函数):

library(Rcpp)
cppFunction('int signC(int x) {
if (x >= 0) {
return rdiscrete(10,c(0.2,0.8),c(5,6));
 } else {
return rdiscrete(10,c(0.2,0.8),c(1,2));
 }
}')

我感谢任何提前答复!

标签: rrcpp

解决方案


推荐阅读