R список столбцов, сохраняющих данные, и структура данных - PullRequest
0 голосов
/ 03 марта 2019

У меня есть такой фрейм данных:

colum1  column2   column3    column4
0.34    0.45      4450       21
0.32    0.46      4451       41
0.41    0.12      2150       38
.
.
.

Этот фрейм данных содержит 2000 элементов.Я хотел бы создать список из 100 фреймов данных со случайно выбранными строками.Я кодировал прототип:

matrix_sampling<-list()
counter=1
original_data <- a

while( counter < 101) {
 sub_sample <- data.frame(original_data[sample(nrow(original_data), 20), ])
 matrix_sampling <- c(matrix_sampling, sub_sample)
 counter = counter+1
} 

Однако, когда я получаю доступ к следующей матрице:

matrix_sampling[[1]], это выдает 0,34, я ожидал первый кадр данных.Мне бы очень хотелось, чтобы структура данных была такой:

matrix_sampling[1] = dataframe1
matrix_sampling[2] = dataframe2
...

Где я могу даже увидеть имена столбцов.

1 Ответ

0 голосов
/ 03 марта 2019

Вы можете использовать replicate.В приведенном ниже примере мы генерируем список с двумя фреймами данных, каждый из которых содержит пять строк iris.Таким образом, вам необходимо настроить это соответственно.

n_rows <- 5
samples <- 2

set.seed(1)
out <- replicate(n = samples,
                 expr = iris[sample(1:nrow(iris), size = n_rows),],
                 simplify = FALSE)
out
#[[1]]
#    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
#40           5.1         3.4          1.5         0.2     setosa
#56           5.7         2.8          4.5         1.3 versicolor
#85           5.4         3.0          4.5         1.5 versicolor
#134          6.3         2.8          5.1         1.5  virginica
#30           4.7         3.2          1.6         0.2     setosa

#[[2]]
#    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
#135          6.1         2.6          5.6         1.4  virginica
#141          6.7         3.1          5.6         2.4  virginica
#98           6.2         2.9          4.3         1.3 versicolor
#93           5.8         2.6          4.0         1.2 versicolor
#10           4.9         3.1          1.5         0.1     setosa
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...