gpt4 book ai didi

R:高效从向量构造矩阵并用特定条件填充它

转载 作者:行者123 更新时间:2023-12-01 12:38:26 28 4
gpt4 key购买 nike

我想构建一个矩阵 A根据向量 k这样到处都是A_ijk_i 的最小值和 k_j .

目前,我可以这样做:

k <- c(3, 1, 6, 5)

mm <- outer(k, k, function(x, y) ifelse(x <= y, x, y))

但是,如果向量很大,我写的代码运行起来比较慢,如何提高计算效率?

谢谢。

最佳答案

这似乎加快了一个数量级:

outer(k,k,pmin)
# or if you are only dealing with integers and speed reeaaaly matters:
outer(k,k,pmin.int)

identical(outer(k,k,pmin), outer(k, k, function(x, y) ifelse(x <= y, x, y)) )
#[1] TRUE

k <- 1:5000
system.time(outer(k, k, function(x, y) ifelse(x <= y, x, y)))
# user system elapsed
# 6.21 0.52 6.73
system.time(outer(k,k,pmin))
# user system elapsed
# 0.51 0.03 0.54
system.time(outer(k,k,pmin.int))
# user system elapsed
# 0.48 0.03 0.51

关于R:高效从向量构造矩阵并用特定条件填充它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27390034/

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