Используя базу R, вы можете использовать vapply()
для итерации по dataframe$Amount
, вызывая sample()
для каждого значения в dataframe$Amount
dataframe$newColumn <- vapply(dataframe$Amount, sample, integer(1), size = 1)
Это эквивалентно вызову
sample(dataframe$Amount[i], size = 1)
для каждой строки i
в dataframe
.Обратите внимание, что если первый аргумент sample()
является единственным значением n
, sample(n)
расширяет его до 1:n
.
sample(5)
## [1] 5 2 4 1 3
Мы используем integer(1)
в vapply()
для FUN.VALUE
Аргумент, по сути, объявляет, что выходной результат каждой из вышеперечисленных итераций будет integer
.Вы можете достичь того же результата с map_int()
из пакета purrr :
dataframe$newColumn <- purrr::map_int(dataframe$Amount, sample, size = 1)