rcpp - 从 NumericVector 创建 NumericMatrix
问题描述
有没有办法从 NumericVectors 创建 NumericMatrix?像这样的东西:
Rcpp::cppFunction("NumericMatrix f(){
NumericVector A(10, 2.0);
NumericVector B(10, 1.0);
return NumericMatrix(10,2,C(A,B)); //ERROR
}")
> f()
解决方案
当然。有例如cbind
.
代码
#include <Rcpp.h>
// [[Rcpp::export]]
Rcpp::NumericMatrix makeMatrix(Rcpp::NumericVector a, Rcpp::NumericVector b) {
return Rcpp::cbind(a, b);
}
/*** R
a <- c(1,2,3)
b <- c(3,2,1)
makeMatrix(a,b)
*/
输出
> Rcpp::sourceCpp("~/git/stackoverflow/65538515/answer.cpp")
> a <- c(1,2,3)
> b <- c(3,2,1)
> makeMatrix(a,b)
[,1] [,2]
[1,] 1 3
[2,] 2 2
[3,] 3 1
>
推荐阅读
- google-sheets - 如何将 google sheet 连接到 Amazon QuickSight?
- excel - 使用 vba 的直方图和其他统计函数
- reactjs - hidden-xs-down 不起作用 React bootstrap
- excel - 从范围复制行并拆分单元格值
- r - 在ggmaps中删除蒙版栅格之外的灰色阴影
- java - hibernate和数据库之间的通信是否同步?
- html - 如何让一张图片在移动设备上位于另一张图片下方,同时在桌面上受到 inline-flex 的影响?
- amazon-web-services - 从 ETL Glue 连接到 Redshift 时出错
- java - Java 中的运算符怪异
- sql - Teradata - CAST 函数的参数必须是相同的字符数据类型 - 这是什么意思?