How to preserve date format while aggregating
As requested in the last line to every message to r-help a cutdown version of the data should be posted with the question. Suppose such a cut down version is this: DF <- data.frame(Date = ISOdatetime(2008, 1, c(1, 2, 5, 3, 4), 0, 0, 0), Subject = c(1, 1, 2, 2, 2)) # Then sort the data and take first one in each group: DFsort <- DF[order(DF$Subject, DF$Date), ] DFsort[!duplicated(DFsort$Subject), ] If its already sorted then omit first line and use DF in place of DFsort in second line. On Mon, Sep 8, 2008 at 9:15 AM, Erich Studerus
<erich.studerus at bli.uzh.ch> wrote:
Thanks, I've already tried that. The problem is, that the original date is not restored when I change the numeric back to date. I get a totally different date. Maybe it has something to do with the original date format. My data are directly imported from a SQL-database. The date column to which I want to apply the aggregate function has the two classes POSIXt and POSIXct. Changing the column to class "Date" before applying the aggregate function did not help. I still get a different date, when I transform it back to class "Date". I would be glad, if someone knew a more elegant way to extract the rows with minimum/earliest date per subject. Erich -----Urspr?ngliche Nachricht----- Von: jim holtman [mailto:jholtman at gmail.com] Gesendet: Montag, 8. September 2008 14:24 An: Erich Studerus Cc: r-help at r-project.org Betreff: Re: [R] How to preserve date format while aggregating Try changing the 'class' of the numeric result back to Date:
x <- as.Date('2008-09-08')
x
[1] "2008-09-08"
y <- as.numeric(x) y
[1] 14130
str(y)
num 14130
class(y) <- "Date" y
[1] "2008-09-08"
str(y)
Class 'Date' num 14130
On Mon, Sep 8, 2008 at 6:38 AM, Erich Studerus <erich.studerus at bli.uzh.ch> wrote:
Hi I have a dataframe in which some subjects appear in more than one row. I want to extract the subject-rows which have the minimum date per subject.
I
tried the following aggregate function. attach(dataframe.xy) aggregate(Date,list(SubjectID),min) Unfortunately, the format of the Date-column changes to numeric, when I'm applying this function. How can I preserve the date format? Thanks Erich
______________________________________________ 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. -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.