[R] duplicate values

Gabor Grothendieck ggrothendieck at gmail.com
Sun Nov 16 19:33:35 CET 2008


Here are three possibilities:

# 1
DF[!duplicated(DF$Datetime), ]

# 2
aggregate(DF[-1], DF[1], head, 1)

These give the first one but if you want the
last one use the fromLast= arg of duplicated
or tail instead of head with aggregate.

# 3
# The zoo package can read in data, convert the
# first column to datetime and remove
# duplicates via aggregation all at once:

Lines <- 'Datetime,Temperature
2008-6-1 00:00:00,5
2008-6-1 02:00:00,5
2008-6-1 03:00:00,6
2008-6-1 03:00:00,0
2008-6-1 04:00:00,6
2008-6-1 04:00:00,0
2008-6-1 05:00:00,7
2008-6-1 06:00:00,7 '

library(zoo)
library(chron)
# z <- read.zoo("myfile.csv", sep = ",", header = TRUE, FUN = as.chron,
#  aggregate = function(x) head(x, 1))

z <- read.zoo(textConnection(Lines), sep = ",", header = TRUE, FUN = as.chron,
  aggregate = function(x) head(x, 1))


# or use tz = "" in place of FUN=as.chron if you want POSIXct.
# See the three zoo vignettes and on dates and times see R News 4/1.

On Sun, Nov 16, 2008 at 1:10 PM, Antje Nöthlich <antno at web.de> wrote:
> Hei R Users,
>
> i have the following dataframe:
>
>          Datetime                      Temperature             and many more collumns
> 1        2008-6-1 00:00:00      5
> 2        2008-6-1 02:00:00      5
> 3        2008-6-1 03:00:00      6
> 4        2008-6-1 03:00:00      0
> 5        2008-6-1 04:00:00      6
> 6        2008-6-1 04:00:00      0
> 7        2008-6-1 05:00:00      7
> 8        2008-6-1 06:00:00      7
> .            .                                .
> .            .                                .
> .            .                                .
> 3000  2008-8-31 00:00:00    3
>
>
> the problem is that row 3 & 4 and row 5 & 6 have the same "Datetime" value but they differ in the values of the "Temperature" column.
> Now for the whole dataframe i would like to delete rows that have the same "Datetime" value as the prior row.
> I have tried unique(dataframe), but it does not work here because the rows are no real duplicates of each other.
> thanks in advance for your help!
>
> Antje
>
> ______________________________________________
> 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