Skip to contents

Add random variates to a data frame

Usage

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(), ...)

Arguments

data

the data.frame to mutate.

input

an unquoted R formula; see details.

...

additional inputs.

envir

environment for object lookup.

Examples


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     1 61.58353
#> 2   2     2 79.43144
#> 3   3     1 69.20752
#> 4   4     1 66.83481
#> 5   5     3 81.19549
#> 6   6     2 85.33740
#> 7   7     1 42.83816
#> 8   8     2 44.69564
#> 9   9     2 55.95888
#> 10 10     2 56.47804
mutate_random(data, RE ~ rbeta(1,1) | GROUP)
#>    ID GROUP        RE
#> 1   1     1 0.5437698
#> 2   2     2 0.4316473
#> 3   3     1 0.5437698
#> 4   4     1 0.5437698
#> 5   5     3 0.5359864
#> 6   6     2 0.4316473
#> 7   7     1 0.5437698
#> 8   8     2 0.4316473
#> 9   9     2 0.4316473
#> 10 10     2 0.4316473

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     1  46.33367
#> 2   2     2 122.71271
#> 3   3     1  79.11173
#> 4   4     1 125.85373
#> 5   5     3  55.82005
#> 6   6     2 124.94018
#> 7   7     1  64.56388
#> 8   8     2  70.33600
#> 9   9     2  61.27864
#> 10 10     2  44.14580