C++ Rcpp如何直接在R列表中更改值
我知道如何从列表对象中获取值,以及如何在C函数中创建值 但我想更改列表中作为参数给出的值 当退出该功能时,修改将有效 比如:C++ Rcpp如何直接在R列表中更改值,c++,r,rcpp,C++,R,Rcpp,我知道如何从列表对象中获取值,以及如何在C函数中创建值 但我想更改列表中作为参数给出的值 当退出该功能时,修改将有效 比如: void myfunc(SEXP *lst) ' List mylist (lst) // make some modification } 我需要修改递归循环中的列表 提前谢谢 丹尼尔没有魔法。只需从列表对象中指定元素,然后修改: R> Rcpp::cppFunction("List foo(List L) { List L2 = L[0]; L2[1]
void myfunc(SEXP *lst) '
List mylist (lst)
// make some modification
}
我需要修改递归循环中的列表
提前谢谢
丹尼尔没有魔法。只需从列表对象中指定元素,然后修改:
R> Rcpp::cppFunction("List foo(List L) { List L2 = L[0]; L2[1] = 42; return L2;} ")
R> L <- list(list(0,1,2), 2:4, 3.3)
R> foo(L)
[[1]]
[1] 0
[[2]]
[1] 42
[[3]]
[1] 2
R>
没有魔法。只需从列表对象中指定元素,然后修改:
R> Rcpp::cppFunction("List foo(List L) { List L2 = L[0]; L2[1] = 42; return L2;} ")
R> L <- list(list(0,1,2), 2:4, 3.3)
R> foo(L)
[[1]]
[1] 0
[[2]]
[1] 42
[[3]]
[1] 2
R>