创建一个空列表,用R中的列表填充它

Ign*_*cio 9 r

我想创建一个空列表,以便我可以用其他列表替换它的元素.

例如

simulations = 10
seeds = sample(10000:99999, simulations, replace=F)

test_function <- function(seedX){
  lista = list(seedX=seedX, 
               dataframe=data.frame(x=runif(10, -5.0, 5.0),y=rnorm(10,mean = 0,sd = 1)))
  return(lista)
}
results <- vector("list", simulations) 
results[1] = test_function(seedX = seeds[1])
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Warning message:
In results[1] = test_function(seedX = seeds[1]) :
  number of items to replace is not a multiple of replacement length
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢!

bgo*_*dst 9

只是改变

results[1] = test_function(seedX = seeds[1])
Run Code Online (Sandbox Code Playgroud)

results[[1]] <- test_function(seedX = seeds[1])
Run Code Online (Sandbox Code Playgroud)

重要的更改是列表组件索引操作符的[...]元素索引操作[[...]]符,因为您需要将列表组件分配给新列表.请参阅https://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.html.

(你也应该使用<-赋值运算符,而不是=主要遵循R约定,但也因为=在其他上下文中有不同的东西(因此不能用于赋值),例如函数调用中的命名参数规范,所以使用<-允许更一致.)