gpt4 book ai didi

r - 在 R 中,增加一个列表和增加一个向量一样低效吗?

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

some_list <- list()

for (i in 1:1000) {
some_list[[i]] <- i
}

我想知道如果 some_list 是一个向量,这是否也同样低效。

最佳答案

答案似乎是肯定的。你可以对它进行基准测试。

f = function() {
some_list <- list()
for (i in 1:100000)
some_list[[i]] <- i
}

g = function() {
some_vector <- c()
for (i in 1:100000)
some_vector[i] <- i
}

h = function() {
some_list <- vector("list", 100000)
for (i in 1:100000)
some_list[[i]] <- i
}

k = function() {
some_vector <- integer(100000)
for (i in 1:100000)
some_vector[i] <- i
}

microbenchmark::microbenchmark(f(), g(), h(), k(), times = 10)
Unit: milliseconds
expr min lq mean median uq max neval
f() 27.723670 28.058052 31.043727 28.812197 33.973669 38.58484 10
g() 20.699626 21.235849 23.029765 21.531695 26.419720 28.04681 10
h() 7.056399 7.151585 7.887856 7.356198 7.936945 10.80190 10
k() 6.025570 6.076456 7.194970 6.408183 7.808957 11.00644 10

关于r - 在 R 中,增加一个列表和增加一个向量一样低效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53712710/

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