gpt4 book ai didi

r - Armadillo 中的合并功能

转载 作者:行者123 更新时间:2023-12-04 11:45:59 26 4
gpt4 key购买 nike

如何实现一个简单的合并函数来合并两个矩阵,每个矩阵都有两列和一个公共(public)列 x使用 Armadillo ?换句话说,我想要一个函数 my_merge_cpp(mat1, mat2)这将使用以下 R 代码给出相同的结果:

mat1 = as.matrix(data.frame(x=1:5, y1=2:6)) ## an example
mat2 = as.matrix(data.frame(x=3:7, y2=3:7)) ## an example
as.matrix(merge(mat1, mat2, all=FALSE))

最佳答案

我会使用 data.table .尝试使用更大的数据,我会很惊讶看到你用本土的 Rcpp 或 RcppArmadillo 解决方案击败它。

代码

library(data.table)
mat1 <- data.table(x=1:5, y1=2:6) ## an example
mat2 <- data.table(x=3:7, y2=3:7) ## an example
mat1[mat2, on="x", nomatch=NULL]

演示
R> library(data.table)
R> mat1 <- data.table(x=1:5, y1=2:6) ## an example
R> mat2 <- data.table(x=3:7, y2=3:7) ## an example
R> mat1[mat2, on="x", nomatch=NULL]
x y1 y2
1: 3 4 3
2: 4 5 4
3: 5 6 5
R>

关于r - Armadillo 中的合并功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58044512/

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