Search code examples
rreplicationsample

How to replicate a vector in R


I need to replicate the vector in such a way that the numbers change because currently I only replicate the same numbers.

example:

> rep(c(sample(c(1:100),5, replace = T),sample(NA ,5, replace = T)), 2)
 [1] 33 91 48 18 29 NA NA NA NA NA 33 91 48 18 29 NA NA NA NA NA

I would like 
[1] 33 91 48 18 29 NA NA NA NA NA 23 45 27 67 55 NA NA NA NA NA

Solution

  • You even had the function name in the title :)

    mat <- 
      replicate(2, c(sample(c(1:100), 5, replace = T), sample(NA, 5, replace = T)))
    mat
    #       [,1] [,2]
    #  [1,]    6   40
    #  [2,]   86   37
    #  [3,]    2   81
    #  [4,]   35   57
    #  [5,]   12   15
    #  [6,]   NA   NA
    #  [7,]   NA   NA
    #  [8,]   NA   NA
    #  [9,]   NA   NA
    # [10,]   NA   NA
    
    c(mat)
    # [1]  6 86  2 35 12 NA NA NA NA NA 40 37 81 57 15 NA NA NA NA NA