La fonction as.period(), du package lubridate, permet de convertir un intervalle en periode selon différentes unités.   library(lubridate)   span <- new_interval(as.POSIXct(« 2009-01-01 »), as.POSIXct(« 2010-02-02 01:01:01 »)) #On crée un nouvel intervalle span [1] 2009-01-01 CET–2010-02-02 01:01:01 CET   as.period(span, unit = « years ») [1] « 1y 1m 1d 1H 1M 1S »   as.period(span, units = « month ») [1] « 13m 1d 1H 1M 1S »   as.period(span, units = « day ») [1] « 397d 1H 1M 1S » as.period(span, units = « second »)[1] « 34304461S »    Read More →

La fonction period(), du package lubridate, permet de créer une période à partir d’un temps écoulé en année, en mois, en jour, ou encore en seconde : period(c(90, 5, 2), c(« second », « minute », « year »)) [1] « 2y 0m 0d 0H 5M 90S »   period(c(3, 1, 2, 13, 1), c(« second », « minute », « hour », « day », « week »)) [1] « 20d 2H 1M 3S »#Les semaines sont converties en jours (20 = 13 + 7)    period(30, « second ») [1] « 30S »  Read More →

La fonction DateUpdate(), du package lubridate, permet de modifier les composantes d’une date : l’année, le mois… ou encore les secondes. Cette fonction renvoie la date modifiée. library(lubridate)  #On crée un date  date <- as.POSIXct(« 2009-02-10 ») date [1] « 2009-02-10 CET »   update(date, year = 2010, month = 1, days = 1) [1] « 2010-01-01 CET »   update(date, minute = 10, second = 3) [1] « 2009-02-10 00:10:03 CET »    Read More →

La fonction as.POSIXct(), permet de créer une donnée de type « date » comprenant une année, un mois, un jour, et une heure, à partir d’un nombre de secondes écoulées et une date d’origine ou en insérant directement la date et l’heure : #Nous avons un nombre de secondes écoulées depuis le 1960-01-01 00:00:00 z <- 1472562988 # On convertie z en date : as.POSIXct(z, origin = « 1960-01-01 ») [1] « 2006-08-30 15:16:28 CEST »   #Nous pouvons également insérer directement une date #de type : « AAAA-MM-JJ HH:Min:sec » x <- as.POSIXct(« 2009-08-03 12:01:57.23 ») x [1] « 2009-08-03 12:01:57 CEST »  Read More →

La fonction ceilling_date(), du package lubridate, permet d’arrondir une donnée de type « date » à la date la plus grande en fonction de différentes unités : library(lubridate)   x <- as.POSIXct(« 2009-08-03 12:01:57.23 »)   ceiling_date(x, « second ») [1] « 2009-08-03 12:01:58 CEST » #On arrondit à la seconde la plus grande   ceiling_date(x, « minute ») [1] « 2009-08-03 12:02:00 CEST » #On arrondit à la minute la plus grande   ceiling_date(x, « hour ») [1] « 2009-08-03 13:00:00 CEST » #On arrondit à l’heure la plus grande   ceiling_date(x, « day ») [1] « 2009-08-04 CEST » #On arrondit au jour le plus grand   ceiling_date(x, « week ») [1] « 2009-08-09 CEST »   ceiling_date(x, « month ») [1] « 2009-09-01 CEST »   ceiling_date(x, « year ») [1] « 2010-01-01 CEST »  Read More →

y <- sample(15)  [1] 10  2 12 14  7  5  6  8  3  4  9 13  1 15 11 #y est un veteur d’entiers   sort(y)        #On trie le vecteur dans l’ordre croissant  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15   rev(sort(y))   #On trie le vecteur dans l’ordre décroissant  [1] 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  Read More →

La fonction melt(), qui fait partie du package reshape2, permet de regrouper les différentes parties d’un array dans un data.frame. library(reshape)   a <- array(c(1:11, NA), c(2,2,3),dimnames=list(NULL, NULL, c(« A », »B », »C »))) a , , A        [,1] [,2] [1,]    1    3 [2,]    2    4   , , B        [,1] [,2] [1,]    5    7 [2,]    6    8   , , C        [,1] [,2] [1,]    9   11 [2,]   10   NA     melt(a, na.rm = TRUE) #On fusionne A, B et C #na.rm permet d’enlever les « NA » du jeu de données   melt(a,na.rm = TRUE, varnames=c(« abscisses », »ordonnées », »variables »)) #On fait la même chose mais cette foisRead More →

b <- array(c(1:11, NA), c(2,2,3))          #On crée un objet de type « array »  dimnames(b)<-list(NULL, NULL, c(« Temp », »Haut », »Long »)) #On attribue un nom aux trois sections de l’array :  « Temp », »Haut » et « Long »   On obtient : > b , , Temp        [,1] [,2] [1,]    1    3 [2,]    2    4   , , Haut        [,1] [,2] [1,]    5    7 [2,]    6    8   , , Long        [,1] [,2] [1,]    9   11[2,]   10   NARead More →

La fonction recast(), du package reshape2, permet d’obtenir une table de contingence en une seule étape à partir d’un data.frame. La fonction renvoie un data.frame.   library(reshape2) # On charge le package reshape2   airquality#En 2 étapes :  aqm <- melt(airquality, id=c(« Month », « Day »), na.rm=TRUE) #On passe d’un format “Wide” à un format “Long” dcast(aqm, Month ~ variable, mean, margins = TRUE) #On obtient une table de contingence contenant la moyenne de chaque variable en fonction du mois  #En 1 seule étape :  recast(airquality, Month~ variable, id.var = 5:6, mean, na.rm=TRUE, margins=TRUE) #La fonction recast() permet d’obtenir une table de contingence en 1 seule étape  Read More →

La fonction type.convert(), qui fait partie du package reshape2, permet de convertir un vecteur de caractères en vecteur numérique.   Library(reshape2)   x <- c(« 14″, »11″, »2 ») #On crée un vecteur class(x) [1] « character »   x <- type.convert(x, dec= ». ») class(x) [1] « integer » x [1] 14 11  2  Read More →