Re: [R] Calculate median from counts and values

From: David Finlayson <david.p.finlayson_at_gmail.com>
Date: Wed 04 May 2005 - 12:23:39 EST

Thanks Gabor and Phil. That did it.

I've used R for years for plotting and run-of-the-mill data analysis (the only kind I do). But the syntax of this language has just never clicked for me. I can't seem to advance beyond the "mostly harmless" stage. Python is roting my brain I guess.

Again, thanks for the tips

David

On 5/3/05, Gabor Grothendieck <ggrothendieck@gmail.com> wrote:
> On 5/3/05, David Finlayson <david.p.finlayson@gmail.com> wrote:
> > 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:
> >
> > > 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:
> >
> > > 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.
> >
>
> Is there supposed to be one row of values that apply to all
> rows of counts or is there to be different rows of values for
> different rows of counts? Also in your example row 3 has
> a different total than 1 or 2. Is that right?
>
> At any rate, I will assume that there is only one row of
> values and many rows of counts and that its not necessarily
> true that counts sum to the same number in each row.
> Then noting that c(rep(4,1), rep(5,2), rep(6,3)) is the same
> as rep(4:6, 1:3) is the same as, we have:
>
> lapply(as.data.frame(t(counts)), rep, x = unlist(values))
>

-- 
David Finlayson
Marine Geology & Geophysics
School of Oceanography
Box 357940
University of Washington
Seattle, WA  98195-7940
USA

Office: Marine Sciences Building, Room 112
Phone: (206) 616-9407
Web: http://students.washington.edu/dfinlays

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Wed May 04 12:30:13 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:33 EST