Add random variates to a data frame.
mutate_random(data, input, ...)
# S4 method for class 'data.frame,formula'
mutate_random(data, input, ...)
# S4 method for class 'data.frame,character'
mutate_random(data, input, envir = parent.frame(), ...)
# S4 method for class 'data.frame,list'
mutate_random(data, input, ...)
# S4 method for class 'data.frame,covset'
mutate_random(data, input, ...)
# S4 method for class 'data.frame,covobj'
mutate_random(data, input, envir = parent.frame(), ...)
data <- data.frame(ID=1:10, GROUP = sample(c(1,2,3),10,replace=TRUE))
mutate_random(data, AGE[40,90] ~ rnorm(55,50))
#> ID GROUP AGE
#> 1 1 2 84.40386
#> 2 2 3 88.81948
#> 3 3 2 43.36191
#> 4 4 2 86.87364
#> 5 5 1 65.26947
#> 6 6 3 55.02400
#> 7 7 2 72.12018
#> 8 8 2 63.42364
#> 9 9 3 76.06152
#> 10 10 1 64.71962
mutate_random(data, RE ~ rbeta(1,1) | GROUP)
#> Warning: `distinct_()` was deprecated in dplyr 0.7.0.
#> ℹ Please use `distinct()` instead.
#> ℹ See vignette('programming') for more help
#> ℹ The deprecated feature was likely used in the dmutate package.
#> Please report the issue at <https://github.com/kylebaron/dmutate/issues>.
#> ID GROUP RE
#> 1 1 2 0.1122766
#> 2 2 3 0.8993435
#> 3 3 2 0.1122766
#> 4 4 2 0.1122766
#> 5 5 1 0.2272696
#> 6 6 3 0.8993435
#> 7 7 2 0.1122766
#> 8 8 2 0.1122766
#> 9 9 3 0.8993435
#> 10 10 1 0.2272696
e <- list(lower=40,upper=140,mu=100,sd=100)
egfr <- covset(EGFR[lower,upper] ~ rnorm(mu,sd))
mutate_random(data,egfr,envir=e)
#> ID GROUP EGFR
#> 1 1 2 135.22792
#> 2 2 3 111.75926
#> 3 3 2 71.63773
#> 4 4 2 138.62491
#> 5 5 1 71.95445
#> 6 6 3 129.73872
#> 7 7 2 76.43539
#> 8 8 2 104.43347
#> 9 9 3 67.15081
#> 10 10 1 79.11031