R: Generate histogram from counts of data

r

Solution

`?rep`

> rep(a, b)
[1] 1.0 1.0 6.0 6.0 6.0 2.0 2.0 4.1 1.0
> 

Edit since I was curious!

a <- sample(1:10, 1e6, replace=TRUE)
b <- sample(1:10, 1e6, replace=TRUE)

> system.time(rep(a, b))
   user  system elapsed 
  0.140   0.016   0.156 
> system.time(inverse.rle(list(lengths=b, values=a)))
   user  system elapsed 
  0.024   0.004   0.028 

Problem

Suppose I have vector `a`: ``` c(1, 6, 2, 4.1, 1, 2) ``` And a count vector `b`: ``` c(2,3,2,1,1,0) ``` I'd like to generate vector `c`: ``` c(1, 1, 6, 6, 6, 2, 2, 4.1, 1) ``` To call: ``` hist(c) ``` How can I build `c`, or is there a way to generate the histogram directly from `a` and `b`? Note the duplicates in `a`, as well as unequal spacing. Require a vectorized solution. `a` and `b` are too large for lapply and friends.

Original source