Thanks I think this solves my problem

On Wed, Sep 2, 2009 at 10:19 PM, Joshua Ulrich <josh.m.ulrich@gmail.com>wrote:

> Jatin,
>
> Check out the plyr package.  And there's a quick example of what
> you're trying to do on this blog post:
> http://www.cerebralmastication.com/?p=339
>
> HTH,
> Josh
> --
> http://www.fosstrading.com
>
>
>
> On Wed, Sep 2, 2009 at 11:39 AM, jatin patni<jatinpatni@gmail.com> wrote:
> > I'm trying to reduce the resolution or remove duplicate time stamps for
> the
> > same symbols in the following sample file, in a way such that the new
> price
> > is a volume weighted average for that second(timestamp) and the new
> volume
> > is the sum of all volumes within that second.
> >
> > I'm trying to use sapply and aggregate separately but having trouble with
> > the function. I want that the function should do a volume weighted avg
> for
> > the price column in the subgroup(where timestamps and symbols are same)
> but
> > a sum of volume in that group. How do I achieve both goals
> simultaneously.
> >
> > I did a lot of research on the mailing archives and spent hours on
> reading
> > the help/faq but couldn't figure it out.
> >
> > Here's my codes that is working:-
> >
> > tmp1.split <- sapply(split(tmp1, tmp1$symbol),
> > function(x){weighted.mean(tmp1$price, tmp1$volume)})
> > tmp1.ag <- aggregate(tmp1, by=list(tmp1$symbol, tmp1$time),
> > function(x){weighted.mean(tmp5$price, tmp5$volume)})
> >
> > How do I go ahead now(I'm confused and new to R)
> > How do I write functions that handle multiple columns differently.
> >
> >>tmp1 #my dataframe
> >   sno     symbol series     time   price volume
> > 1    1 BHARTIARTL     EQ 18:15:05  600.00      1
> > 2    2 BHARTIARTL     EQ 18:15:05  600.00     99
> > 3    3   GLENMARK     EQ 18:15:05  238.10      5
> > 4    4   HINDALCO     EQ 18:15:05   43.75    100
> > 5    5 BHARTIARTL     EQ 18:15:05  600.00      1
> > 6    6       BHEL     EQ 18:15:05 1100.00     11
> > 7    7   HINDALCO     EQ 18:15:06   43.20      1
> > 8    8 CHAMBLFERT     EQ 18:15:06   46.00     10
> > 9    9 CHAMBLFERT     EQ 18:15:06   46.00     90
> > 10  10 BAJAUTOFIN     EQ 18:15:06   80.00    100
> >
> > Thanks
> >
> > --
> > Jatin Patni
> > Tel: 91 9833 2180 52
> > jatinpatni@gmail.com
> > www.jatinpatni.co.nr
> >
> >        [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > R-SIG-Finance@stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> > -- Subscriber-posting only.
> > -- If you want to post, subscribe first.
> >
>



-- 
Jatin Patni
Tel: 91 9833 2180 52
jatinpatni@gmail.com
www.jatinpatni.co.nr

	[[alternative HTML version deleted]]

