[R] Extracting rows with latest date from a data frame
Petr PIKAL
petr.pikal at precheza.cz
Wed Jan 18 07:20:12 CET 2012
Hi
> Hi,
>
> I have a list of unique patient IDs which I want to run against a
dataframe
> of unique patient IDs with dates. There are multiple date instances
against
> unique IDs. The end result I wish is that I have a list of IDs (which
are
> unique) with the latest date. I have begun with using test data (but I
> haven't got very far!)
>
> #Create test data
> #Data frame creation
> df1<-data.frame(uID=c("1","2"))
>
df2<-data.frame(uID2=c("1","1","1","2","2","2"),Date=c(as.Date("20/12/2010",
> format="%d/%m/%Y"),
> as.Date("12/05/2011", format="%d/%m/%Y"),as.Date("12/07/2011",
> format="%d/%m/%Y"),
>
as.Date("12/07/2010",format="%d/%m/%Y"),as.Date("12/05/2009",format="%d/%m/%Y"),
> as.Date("20/10/2012",format="%d/%m/%Y")))
>
> for (i in uID) {
> #For all the unique patient IDs
> df3<-data.frame(i)
> #Create a one record data frame of record
> m1<-merge(df3,df2,by.x="i", by.y="uID2")
> #Merge with list of IDs and dates of event
> for (j in m1) {
> #maybe an if statement in
> here but I’m not sure how to seperate the dates out and then create a
new
> dataframe with the IDs and latest date??
> }
> }
>
> I am completely new to R so R vocabulary is limited at the moment. I'm
not
> sure if i'm on the right tracted here. For example I not sure if I need
> dataframe of uniqueIDs (df1). Is there a way in a For loop that you can
> pinpoint all date instances for a given ID and then select the latest
and
> add to new dataframe?
latest <- aggregate(df2$Date, list(df2$uID2), max)
gives you newest date from df2 for each id. After that you can select rows
from df2.
df2[df2$Date %in% latest$x,]
uID2 Date
3 1 2011-07-12
6 2 2012-10-20
Or you can use ?merge
Regards
Petr
>
>
> Your help is much appreciated.
> D
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Extracting-
> rows-with-latest-date-from-a-data-frame-tp4305651p4305651.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at 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.
More information about the R-help
mailing list