Как назначить случайное начальное число функции dplyr sample_n?

Это sample_n из dplyr в R.
https://dplyr.tidyverse.org/reference/sample.html

Для воспроизводимости я должен поместить семя, чтобы кто-то другой мог получить мои точные результаты.

Есть ли встроенный способ установить семя для sample_n? Это то, что я делаю в среде, и sample_n на это реагирует?

Они не встроены в функцию sample_n.

  • Существует функция среды set.seed [1]
  • Существует библиотека withr, которая создает оболочку, содержащую семя, для кода [2]

.


person EngrStudent    schedule 16.08.2020    source источник
comment
В sample_n нет ничего особенного. Для воспроизводимости вы должны выполнить те же шаги, что и для других примеров. set.seed(any_number);sample_n(mtcars, 1) всегда будет давать тот же результат. Вы пробовали это?   -  person Ronak Shah    schedule 17.08.2020


Ответы (2)


dplyr::sample_n документация сообщает, что:

Это оболочка вокруг sample.int (), упрощающая выбор случайных строк из таблицы. В настоящее время работает только для локальных тбл.

поэтому за sample_n вызывается sample.int, что означает, что используется стандартный генератор случайных чисел и что вы можете использовать _4 _ для воспроизводимости.

person Waldi    schedule 16.08.2020
comment
Возможно, добавьте к ответу, что set.seed(123) нужно вызывать каждый раз перед выполнением sample_n. - person Paul; 14.12.2020

Этот пример помогает? В нем я использую set.seed и набор данных mtcars.

set.seed(1)
x <- mtcars
sample_n(x, 10)

sample_n(x, 10) #without set.seed()

set.seed(1)
x <- mtcars
sample_n(x, 10)
person iamericfletcher    schedule 16.08.2020