Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用列表填充列表(复制、重叠)_R - Fatal编程技术网

R 用列表填充列表(复制、重叠)

R 用列表填充列表(复制、重叠),r,R,如何生成已知大小的列表列表 目前我是这样做的 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_

如何生成已知大小的列表列表

目前我是这样做的

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
}
复制版本返回一个列表

$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个具有相同键的vector类型的元素。当通过键访问时,它返回第一个元素。 如何生成已知大小的列表?

您可以试试

replicate(5, list(vector=rnorm(2)), simplify=FALSE)
# [[1]]
#[[1]]$vector
#[1] -1.5239454 -0.1326934


#[[2]]
#[[2]]$vector
#[1] -1.4369404  0.3701259


#[[3]]
#[[3]]$vector
#[1]  0.3251298 -1.4289498


#[[4]]
#[[4]]$vector
#[1]  0.8346002 -0.2974959


#[[5]]
#[[5]]$vector
#[1]  0.4581858 -0.8066517

谢谢@akrun。如果你加上这个作为答案,那么我接受它。另外,我会在一段时间后删除这个问题。好的,我会补充这个作为答案
replicate(5, list(vector=rnorm(2)), simplify=FALSE)
# [[1]]
#[[1]]$vector
#[1] -1.5239454 -0.1326934


#[[2]]
#[[2]]$vector
#[1] -1.4369404  0.3701259


#[[3]]
#[[3]]$vector
#[1]  0.3251298 -1.4289498


#[[4]]
#[[4]]$vector
#[1]  0.8346002 -0.2974959


#[[5]]
#[[5]]$vector
#[1]  0.4581858 -0.8066517