It works for me...

> DF <-
+ structure(list(DESCRIPTION = c("PRM HGH GD ALU", "PRM HGH GD ALU",
+ "PRIMARY NICKEL", "PRIMARY NICKEL", "PRIMARY NICKEL", "PRIMARY NICKEL",
+ "STANDARD LEAD ", "STANDARD LEAD ", "STANDARD LEAD ", "STANDARD LEAD ",
+ "STANDARD LEAD ", "STANDARD LEAD ", "STANDARD LEAD ", "STANDARD LEAD ",
+ "SPCL HIGH GRAD", "SPCL HIGH GRAD", "SPCL HIGH GRAD", "SPCL HIGH GRAD",
+ "SPCL HIGH GRAD", "SPCL HIGH GRAD", "SPCL HIGH GRAD", "SPCL HIGH GRAD",
+ "SPCL HIGH GRAD", "SPCL HIGH GRAD"), CREATED.DATE = structure(c(14708,
+ 14708, 14672, 14673, 14678, 14678, 14700, 14700, 14700, 14700,
+ 14700, 14700, 14700, 14705, 14707, 14707, 14707, 14708, 14708,
+ 14708, 14708, 14708, 14622, 14634), class = "Date"), QUANITY = c(-1,
+ 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1,
+ -1, 1, 1, 1, -1), CLOSING.PRICE = c("2,415.9000", "2,415.9000",
+ "25,755.7100", "25,755.7100", "25,760.8600", "25,760.8600", "2,355.9600",
+ "2,355.9600", "2,355.9600", "2,355.9600", "2,355.9600", "2,355.9600",
+ "2,355.9600", "2,357.1200", "2,420.7300", "2,420.7300", "2,420.7300",
+ "2,421.0500", "2,421.0500", "2,421.0500", "2,421.0500", "2,421.0500",
+ "2,388.4300", "2,388.4300")), .Names = c("DESCRIPTION", "CREATED.DATE",
+ "QUANITY", "CLOSING.PRICE"), row.names = 26:49, class = "data.frame")
>
> library(plyr)
>
> op=ddply(DF, c("DESCRIPTION"), summarise, POSITION=
+ sum(QUANITY),DATE=max(CREATED.DATE), SETTLEMENT =
CLOSING.PRICE[CREATED.DATE == max(CREATED.DATE)])
>
> op <- unique(op)
> op
      DESCRIPTION POSITION       DATE  SETTLEMENT
1  PRIMARY NICKEL        0 2010-03-10 25,760.8600
3  PRM HGH GD ALU        0 2010-04-09  2,415.9000
5  SPCL HIGH GRAD        2 2010-04-09  2,421.0500
10 STANDARD LEAD         0 2010-04-06  2,357.1200
>

-Ista

On Fri, Apr 16, 2010 at 7:21 AM, arnaud Gaboury <arnaud.gabo...@gmail.com>wrote:

> When I pass your command line, here is what I get :
>
>
> >op=ddply(df,c("DESCRIPTION"),summarise,POSITION=sum(QUANITY),DATE=max(CREAT
> ED.DATE),SETTLEMENT=CLOSING.PRICE[CREATED.DATE=max(CREATED.DATE)])
> > op
>
>     DESCRIPTION POSITION       DATE SETTLEMENT
> 1 PRIMARY NICKEL        0 2010-03-10       <NA>
> 2 PRM HGH GD ALU        0 2010-04-09       <NA>
> 3 SPCL HIGH GRAD        2 2010-04-09       <NA>
> 4 STANDARD LEAD         0 2010-04-06       <NA>
>
>
> That is exactly what I want, but not with the NA ! the SETTLEMENT column
> should show the corresponding CLOSING.PRICE for the CREATED.DATE
>
> ***************************
> Arnaud Gaboury
> Mobile: +41 79 392 79 56
> BBM: 255B488F
> ***************************
>
> From: Ista Zahn [mailto:istaz...@gmail.com]
> Sent: Friday, April 16, 2010 1:05 PM
> To: arnaud Gaboury
> Cc: r-help@r-project.org
> Subject: Re: [R] data frame manipulation
>
> Hi,
> I'm not sure I understand what you want exactly. My best guess is that you
> want something like
>
> op=ddply(DF, c("DESCRIPTION"), summarise, POSITION=
> sum(QUANITY),DATE=max(CREATED.DATE), CLOSING.PRICE =
> CLOSING.PRICE[CREATED.DATE == max(CREATED.DATE)])
>
> op <- unique(op)
>
> Does that do it?
>
> -Ista
> On Fri, Apr 16, 2010 at 4:16 AM, arnaud Gaboury <arnaud.gabo...@gmail.com>
> wrote:
> Dear group,
>
> Here is my data.frame :
>
>
> df <-
> structure(list(DESCRIPTION = c("PRM HGH GD ALU", "PRM HGH GD ALU",
> "PRIMARY NICKEL", "PRIMARY NICKEL", "PRIMARY NICKEL", "PRIMARY NICKEL",
> "STANDARD LEAD ", "STANDARD LEAD ", "STANDARD LEAD ", "STANDARD LEAD ",
> "STANDARD LEAD ", "STANDARD LEAD ", "STANDARD LEAD ", "STANDARD LEAD ",
> "SPCL HIGH GRAD", "SPCL HIGH GRAD", "SPCL HIGH GRAD", "SPCL HIGH GRAD",
> "SPCL HIGH GRAD", "SPCL HIGH GRAD", "SPCL HIGH GRAD", "SPCL HIGH GRAD",
> "SPCL HIGH GRAD", "SPCL HIGH GRAD"), CREATED.DATE = structure(c(14708,
> 14708, 14672, 14673, 14678, 14678, 14700, 14700, 14700, 14700,
> 14700, 14700, 14700, 14705, 14707, 14707, 14707, 14708, 14708,
> 14708, 14708, 14708, 14622, 14634), class = "Date"), QUANITY = c(-1,
> 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, -1, -1, 1,
> -1, 1, 1, 1, -1), CLOSING.PRICE = c("2,415.9000", "2,415.9000",
> "25,755.7100", "25,755.7100", "25,760.8600", "25,760.8600", "2,355.9600",
> "2,355.9600", "2,355.9600", "2,355.9600", "2,355.9600", "2,355.9600",
> "2,355.9600", "2,357.1200", "2,420.7300", "2,420.7300", "2,420.7300",
> "2,421.0500", "2,421.0500", "2,421.0500", "2,421.0500", "2,421.0500",
> "2,388.4300", "2,388.4300")), .Names = c("DESCRIPTION", "CREATED.DATE",
> "QUANITY", "CLOSING.PRICE"), row.names = 26:49, class = "data.frame")
>
> I am looking at summarize it in something like this :
>
> > op
>     DESCRIPTION POSITION       DATE
> 1 PRIMARY NICKEL        0 2010-03-10
> 2 PRM HGH GD ALU        0 2010-04-09
> 3 SPCL HIGH GRAD        2 2010-04-09
> 4 STANDARD LEAD         0 2010-04-06
>
>
>
> To obtain "op", I wrote this following line :
>
> >   op=ddply(df, c("DESCRIPTION"), summarise, POSITION=
> sum(QUANITY),DATE=max(CREATED.DATE)).
>
> Until there, fine. But I need to have one more column, "CLOSING.PRICE". If
> I
> write this line :
>
>
> >   op1=ddply(c, c("DESCRIPTION","CLOSING.PRICE"), summarise, POSITION=
> sum(QUANITY),DATE=max(CREATED.DATE))
>
> Here is what I get:
>
>
> > op1
>     DESCRIPTION CLOSING.PRICE POSITION       DATE
> 1 PRIMARY NICKEL   25,755.7100        0 2010-03-05
> 2 PRIMARY NICKEL   25,760.8600        0 2010-03-10
> 3 PRM HGH GD ALU    2,415.9000        0 2010-04-09
> 4 SPCL HIGH GRAD    2,388.4300        0 2010-01-25
> 5 SPCL HIGH GRAD    2,420.7300        1 2010-04-08
> 6 SPCL HIGH GRAD    2,421.0500        1 2010-04-09
> 7 STANDARD LEAD     2,355.9600       -1 2010-04-01
> 8 STANDARD LEAD     2,357.1200        1 2010-04-06
>
> Not exactly what I want. Can anyone help?
> TY
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>
>
> --
> Ista Zahn
> Graduate student
> University of Rochester
> Department of Clinical and Social Psychology
> http://yourpsyche.org
>
>


-- 
Ista Zahn
Graduate student
University of Rochester
Department of Clinical and Social Psychology
http://yourpsyche.org

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to