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 ...
.
之前
我正在尝试执行蒙特卡洛过程。为此,我正在尝试执行大量重采样功能。
出于某种原因,在执行 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 ...
.