gpt4 book ai didi

r - 将 R::vector 转换为 std::vector

转载 作者:行者123 更新时间:2023-12-04 12:33:00 27 4
gpt4 key购买 nike

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

5年前关闭。




Improve this question




我有一个 R::NumericVector,我想知道是否可以将它转换为 std::vector 而不使用 C++ 中的循环。

void someFunction(NumericMatrix mtx){
NumericVector rVec = mtx.row(0);
std::vector<int> sVec;
sVec = rVec; //<-- I wanna do something like this
}

最佳答案

是的,例如参见 Rcpp 简介的第 3 节关于 as<>() .这几乎出现在所有关于 Rcpp 的介绍中,而且很难错过。

下面的工作示例(手动缩进;代码只是一长行)。

R> cppFunction("std::vector<double> foo(NumericMatrix M) {
NumericVector a = M.row(0);
std::vector<double> b = as<std::vector<double> >(a);
return b;
}")
R> foo(matrix(1:9, 3, 3))
[1] 1 4 7
R>

关于r - 将 R::vector 转换为 std::vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37328978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com