Вот базовое решение R
- просто
runif()
(благодаря комментариям @David Arenburg)
df$val <- with(df,runif(nrow(df),Min,Max))
- с использованием
Vectorize()
f <- Vectorize(function(x,y) runif(1,min=x,max=y),vectorize.args = c("x","y"))
df$val <- with(df,f(Min,Max))
такой, что
> df
Min Max val
1 10 20 14.51209
2 14 34 29.85087
3 9 29 22.97049
ДАННЫЕ
df <- structure(list(Min = c(10L, 14L, 9L), Max = c(20L, 34L, 29L)), class = "data.frame", row.names = c(NA,
-3L))