【发布时间】:2014-12-29 13:36:02
【问题描述】:
我应该如何生成一个已知大小的列表?
目前我就是这样做的。
create_scout_bees <- function(search_space, num_scouts){
gen_bee <- function(unused, sear_spac){
create_random_bee(sear_spac)
}
bees <- lapply(1:num_scouts, gen_bee, search_space)
#bees <- replicate(num_scouts, create_random_bee(search_space))
cat('\nclass of bees is:',class(bees),'\n')
bees
}
其中create_random_bee(sear_spac) 返回return(list(vector=random_vector(search_space)))。这似乎太复杂了。我找到了replicate 函数(参见代码中的注释)。但它不会返回相同的东西。老实说,我不完全确定它会返回什么。
lapply 选项似乎返回列表列表
[[1]]
[[1]]$vector
[1] -3.772477 -4.178604
[[2]]
[[2]]$vector
[1] -1.237291 -2.430769
[[3]]
[[3]]$vector
[1] -2.211511 -1.352074
[[4]]
[[4]]$vector
[1] 4.102391 -1.437620
[[5]]
[[5]]$vector
[1] -0.1355444 -2.0270074
复制版本返回一个列表
$vector
[1] 3.780779 3.588892
$vector
[1] -4.290371 4.098709
$vector
[1] 1.051525 -3.374406
$vector
[1] -0.4593861 -4.8412850
$vector
[1] 2.164383 -4.903347
我可以索引两个返回值。但第二个选项似乎只是一个包含 5 个具有相同键的向量类型元素的列表。通过键访问时,它返回第一个元素。 如何生成已知大小的列表列表?
【问题讨论】:
-
谢谢@akrun。如果您将此添加为答案,那么我接受它。否则我会在一段时间后删除问题。
-
好的,我将其添加为答案
标签: r