小编Mur*_*1lo的帖子

使用Rcpp中的函数更改向量

我在Rcpp中遇到一个简单的代码问题.我的问题是我想通过将一个向量传递给一个函数来改变它.一个例子是:

//[[Rcpp::export]]
void ones(IntegerVector x, int lx){
   int i;
   for(i = 0; i < lx; i++){
       x(i) = 1;
   }
}
Run Code Online (Sandbox Code Playgroud)

我在R做的时候:

x = rep(-1, 10)
ones(x, length(x))
Run Code Online (Sandbox Code Playgroud)

向量x不会改变.我怎么能解决这个问题?

编辑:如果我传递x作为&x如何更改它的值?

编辑:尝试前两个答案中提出的两个方法后没有任何改变.

编辑:重新启动Rstudio,现在它的工作原理.......这是Rstudio用户的常见问题吗?

r rcpp

1
推荐指数
1
解决办法
362
查看次数

标签 统计

r ×1

rcpp ×1