Skip to content
Prev 69072 / 398502 Next

Calculate median from counts and values

I am tangled with a syntax question. I want to calculate basic statistics  
for a large dataset provided in weights and values and I can't figure out  
an elegant way to expand the data.

For example here are the counts:
n4 n3 n2 n1 p0 p1 p2 p3  p4
1   0  0  0  1  1  3 16 55  24
2   0  0  0  0  2  8 28 47  15
3   1 17 17 13  4  5 12 24   8
...

and the values:
n4 n3 n2 n1 p0  p1   p2    p3     p4
[1,] 16  8  4  2  1 0.5 0.25 0.125 0.0625

What I want for each row is something like this (shown for row 1):

c( rep(16, 0), rep(8, 0), rep(4, 0), rep(2, 1), rep(1, 1), rep(0.5, 3),  
rep(0.25, 16), rep(0.125, 55), rep(0.0625, 24))

I am sure that this is a one-liner for an R-master, but I can't figure it  
out without a set of nested for loops iterating over each row in counts.

David