Я пытаюсь заменить 0 в наборе данных случайным образом -1 или +1, но это не работает, есть функция, которую я не рассматривал? - PullRequest
0 голосов
/ 23 марта 2019

Это мой текущий код:

df.no_missings$prv.arm <- replace(df.no_missings$prv.arm, df.no_missings$prv.arm == 0,sample(c(-1,1), size =30, replace = TRUE))

Это работает, но каждый раз, когда я снова запускаю скрипт, я получаю другой вывод. Я хочу, чтобы он был установлен один раз, а теперь попробовал:

df.no_missings$prv.arm <- set.seed(replace(df.no_missings$prv.arm, df.no_missings$prv.arm == 0,sample(c(-1,1), size =30, replace = TRUE)))

но затем 0 не заменяются, а просто игнорируются, как только я запрашиваю новое число -1 и + 1 в наборе данных.

Кто-нибудь знает, как я могу решить эту проблему, поэтому все 61 нулевое значение будут случайным образом заменены либо -1, либо +1, а затем останутся в этом новом замещающем распределении каждый раз, когда я запускаю скрипт?

1 Ответ

1 голос
/ 23 марта 2019

Установите начальное число генератора случайных чисел R. Это полезно для создания симуляций или случайных объектов, которые можно воспроизвести.

set.seed(42)
df.no_missings$prv.arm <- replace(df.no_missings$prv.arm, df.no_missings$prv.arm == 0,sample(c(-1,1), size =30, replace = TRUE))

Замените 42 на любое число, которое вам нравится

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