Я не уверен, если вы хотите это
set.seed(1)
df$new <- df[cbind(seq(nrow(df)),
sample(2,nrow(df),replace = TRUE))]
, что
> df
first zero new
1 9 0 9
2 8 0 0
3 16 0 16
ДАННЫЕ
df <- structure(list(first = c(9, 8, 16), zero = c(0, 0, 0)), class = "data.frame", row.names = c(NA,
-3L))