For循环仅填充列表的最后一个元素-R

For loop only filling last element of a list - R

我正在尝试执行蒙特卡洛过程。为此,我正在尝试执行大量重采样功能。

出于某种原因,在执行 for 循环时,只有列表的最后一个元素被小重采样填充。我需要的是一个列表,其中列表的每个元素都是完整的data.frame

我在 R 中这样做。

提前致谢!

#Montecarlo para obtener una distribución de diferentes estimaciones de Beta (Estimador de una población)

library(ggplot2) #data diamonds

#Población (Asumir como deconocida)
PopulationSize<-nrow(diamonds) 

#Ejemplo con una primera muestra de 100 observaciones
sample1 <- diamonds[ceiling(runif(100,1,PopulationSize)),]
print(sample1)

#Creando una función para realizar el remuestreo
Remuestrear <- function(cantidadMuestras, tamanoRemuestra, data){
  for(i in 1:cantidadMuestras){
    nSamples <- list()
      nSamples[[i]] <- data[ceiling(runif(tamanoRemuestra,1,nrow(data))),]
    print(nSamples[[i]])
  }
  return(nSamples)
}

Remuestras <- Remuestrear(10,100, diamonds)
Remuestras

您在循环的每次迭代中都覆盖了列表。将 nSamples <- list() 移动到 for(i in ....

之前