Мне нужно выбрать n групп из n случайных строк из DF в R - PullRequest
0 голосов
/ 04 мая 2019

Я хочу итерировать n раз функцию, которая случайным образом рисует n строк в кадре данных. Поскольку группы состоят из 785 строк, функция выглядит так:

randomSample = function(merged_df_1, n) { 
  return( merged_df_1[sample(nrow(merged_df_1), 785),] )
}

Чтобы повторить эту функцию 10 раз, я попробовал этот код

n=10
lapply(rep(1, n), randomSample)

Но я получаю следующее сообщение об ошибке

"Ошибка в sample.int (длина (x), размер, замена, проблема): неверный первый аргумент "

1 Ответ

2 голосов
/ 04 мая 2019

Происходит следующее: lapply берет вектор rep (1, n) и использует его в качестве первого аргумента вашей функции.Я думаю, вы могли бы сделать это:

randomSample = function(n, merged_df_1) { 
#note that the function doesn't really use n inside it, if you want so, you should #replace 785 for n and use rep(n,n) inside the lapply call
  return(merged_df_1[sample(nrow(merged_df_1), 785),] )
}

n=10
lapply(rep(1,n), function(x)randomSample(x,merged_df_1))
...