dplyr , mutate, make a random number

if you use group_by(row_number) runif will run for each row individually:

require(dplyr)


a <- mtcars %>% 
  group_by(row_number()) %>% 
  mutate(rand_num = case_when(cyl == 4 ~ runif(1,24,36),
            cyl == 6 ~ runif(1,48,56),
            cyl == 8 ~ runif(1,330,366),
            TRUE ~ 1))
2 Likes