On 2015-01-24 01:14, William Dunlap wrote:
Here is one way.  Sort the data.frame, first by Name then break ties with
CheckInDate.
Then choose the rows that are the last in a run of identical Name values.

I do it by sorting by the reverse order of CheckinDate (last date first) within Name, then

> dLatestVisit <- dSorted[!duplicated(dSorted$Name), ]

I guess it is faster, but who knows?

Göran


txt <- "Name    CheckInDate      Temp
+ John      1/3/2014              97
+ Mary     1/3/2014              98.1
+ Sam       1/4/2014              97.5
+ John      1/4/2014              99"
d <- read.table(header=TRUE,
colClasses=c("character","character","numeric"), text=txt)
d$CheckInDate <- as.Date(d$CheckInDate, as.Date, format="%d/%m/%Y")
isEndOfRun <- function(x) c(x[-1] != x[-length(x)], TRUE)
dSorted <- d[order(d$Name, d$CheckInDate), ]
dLatestVisit <- dSorted[isEndOfRun(dSorted$Name), ]
dLatestVisit
   Name CheckInDate Temp
4 John  2014-04-01 99.0
2 Mary  2014-03-01 98.1
3  Sam  2014-04-01 97.5


Bill Dunlap
TIBCO Software
wdunlap tibco.com

On Fri, Jan 23, 2015 at 3:43 PM, Tan, Richard <r...@panagora.com> wrote:

Hi,

Can someone help for a R question?

I have a data set like:

Name    CheckInDate      Temp
John      1/3/2014              97
Mary     1/3/2014              98.1
Sam       1/4/2014              97.5
John      1/4/2014              99

I'd like to return a dataset that for each Name, get the row that is the
latest CheckInDate for that person.  For the example above it would be

Name    CheckInDate      Temp
John      1/4/2014              99
Mary     1/3/2014              98.1
Sam       1/4/2014              97.5


Thank you for your help!

Richard


         [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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