Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rcpp:将lfactorial应用于NumericVector_R_Rcpp - Fatal编程技术网

Rcpp:将lfactorial应用于NumericVector

Rcpp:将lfactorial应用于NumericVector,r,rcpp,R,Rcpp,将lfactorial函数应用于Rcpp中的数值向量的最佳/最简单方法是什么。在R中,我会有如下内容: > vec <- c(1,2,3,4) > lfactorial(vec) [1] 0.0000000 0.6931472 1.7917595 3.1780538 将Rcpp::internal::lfactorial应用于vec的每个元素的最佳方法是什么 感谢您的帮助。Rcpp与R一样,是矢量化的: R> cppFunction('NumericVector lfa

lfactorial
函数应用于Rcpp中的
数值向量
的最佳/最简单方法是什么。在R中,我会有如下内容:

> vec <- c(1,2,3,4)
> lfactorial(vec)
[1] 0.0000000 0.6931472 1.7917595 3.1780538
Rcpp::internal::lfactorial
应用于
vec
的每个元素的最佳方法是什么


感谢您的帮助。

Rcpp与R一样,是矢量化的:

R> cppFunction('NumericVector lfac(NumericVector x) { \
                                        return lfactorial(x); }')
R> lfac(1:4)
[1] 0.000000 0.693147 1.791759 3.178054
R> 

这是一行代码,我只是为了更好的解释这里打破。复制和粘贴前请删除反斜杠。您可以将其作为
NumericVector
IntegerVector
签名来编写。

您认为用Rcpp编写的R包被CRAN接受的几率更高吗?我认为它不起作用。当运行
R CMD check
时,您的软件包需要没有警告、错误和注释,并且最好也是正确的。我发现使用起来更容易,所以似乎也能做很多其他人的工作,但是今天显示了另一个包含C++但不使用的包。它甚至使用
.C()
实际上是不被鼓励的……谢谢你的反馈。我正在Rstudio中开发该软件包,因此它可以帮助我提前捕获警告和错误。这是包经常被拒绝的主要原因吗?
R> cppFunction('NumericVector lfac(NumericVector x) { \
                                        return lfactorial(x); }')
R> lfac(1:4)
[1] 0.000000 0.693147 1.791759 3.178054
R>