gpt4 book ai didi

r - R 中的简单组合

转载 作者:行者123 更新时间:2023-12-04 05:25:52 25 4
gpt4 key购买 nike

我希望共享一个 R 函数,用于查找单个向量元素之间所有可能的唯一无向组合:

combi <- function(vec1)
{
si <- length(vec1)
first <- rep(vec1, (si-1):0)
secR <- rev(vec1)
second <- secR[sequence(1:(si-1))]
second <- rev(second)
combi <- matrix(cbind(first, second), ncol = 2)
return(combi)
}

并询问是否有更简单的方法来做到这一点? (我需要结果在 2 列矩阵中)。

最佳答案

嗯,有一个内置的 combn功能:

t(combn(vec1,2))

不过,你的看起来更快,也许是因为 combn试图解决一个更普遍的问题(??):
> library(rbenchmark)
> v <- 1:20
> benchmark(combi(v),t(combn(v,2)))
test replications elapsed relative user.self sys.self
1 combi(v) 100 0.005 1.0 0.004 0.000
2 t(combn(v, 2)) 100 0.044 8.8 0.040 0.004

关于r - R 中的简单组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8051278/

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