Rcpp:在构建cppFunction()时从现有R包中调用函数

时间:2018-11-29 22:52:23

标签: r rcpp

我正在使用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));
 }
}')

我非常感谢您提前答复!

0 个答案:

没有答案