Самое простое решение - просто инициализировать samples
с вашими фактическими образцами:
set.seed(123)
n_samples <- 5
n_obs <- 10
population <- letters
samples <- matrix(sample(population, n_obs*n_samples, replace=TRUE),
nrow=n_samples, ncol=n_obs)
Но чтобы сделать это так, как вы начали, вам просто нужно дать R знать, что вы хотите поместите записи во все столбцы samples
, например: samples[i, ]
.
Это похоже на использование синтаксиса :
в Numpy: array[i, :]
.
samples <- matrix(0, nrow=n_samples, ncol=n_obs)
for(i in 1:n_samples){
temp <- sample(population, n_obs, replace=TRUE)
samples[i,] = temp
}
В любом случае, вывод одинаков:
samples
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "h" "u" "k" "w" "y" "b" "n" "x" "o" "l"
[2,] "y" "l" "r" "o" "c" "x" "g" "b" "i" "y"
[3,] "x" "s" "q" "z" "r" "s" "o" "p" "h" "d"
[4,] "z" "x" "r" "u" "a" "m" "t" "f" "i" "g"
[5,] "d" "k" "k" "j" "d" "d" "g" "m" "g" "w"