Le test de Student permet de tester l’égalité de deux moyennes. L’hypothèse H0 est « les moyennes sont égales » ou « la moyenne vaut une valeur x ». Pour réaliser ce test il est nécessaire d’avoir un échantillonnage aléatoire de chaque individu et que les ces deux échantillons suivent une loi Normale. Pour tester l’hypothèse H0 on utilise la fonction t.test(). data(iris) A<-subset(iris,Species== »setosa »)[,2] #On isole la 2ème colonne : la largeur des sépales   On commence par tester la normalité de cette variable grâce au test de Shapiro : shapiro.test(A)           Shapiro-Wilk normality test   data:  A W = 0.9717, p-value = 0.2715   La p-value est supérieurRead More →

Le test de Fisher-Snedecor permet de savoir si les variances de deux populations (δ1² et δ2²) sont égales ou non. L’hypothèse H0 testée correspond à δ1²= δ2². Pour réaliser ce test il est nécessaire d’avoir un échantillonnage aléatoire de chaque individu et que les ces deux échantillons suivent une loi Normale. On utilise pour tester cette hypothèse la fonction var.test(). data(iris) A<-subset(iris,Species== »setosa »)[,2] #On isole la 2ème colonne : la largeur des sépales   On commence par tester la normalité de cette variable grâce au test de Shapiro : shapiro.test(A)           Shapiro-Wilk normality test   data:  A W = 0.9717, p-value = 0.2715   La p-valueRead More →

Pour importer un fichier SAS sas7bdat, la premiere solution est d’utiliser la fonction read.sas7bdat du package sas7bdat library(sas7bdat)donnee<-read.sas7bdat(« fichier.sas7bdat ») Cependant parfois  vous allez tomber sur cette erreur : Error in read.sas7bdat(« ficher.sas7bdat ») : file contains compressed data En effet le package sas7bdat n’est pas capable d’importer les fichiers compressés.Voici une solution qui fonctionne : library(devtools)install_github(« biostatmatt/sas7bdat.parso »)library(sas7bdat.parso) s7b2csv(« fichier.sas7bdat », « fichier.csv ») donnee<-read.csv(« fichier.csv »)  Read More →

La fonction seconds_to_period(), du package lubridate, permet de convertir un nombre de secondes en une période, et la fonction period_to_seconds() permet de convertir une période en un nombre de secondes. seconds_to_period(60) [1] « 1M 0S » seconds_to_period(150) [1] « 2M 30S » seconds_to_period(3600) [1] « 1H 0M 0S » seconds_to_period(4989000) [1] « 57d 17H 50M 0S »     period_to_seconds(seconds_to_period(60)) [1] 60 period_to_seconds(seconds_to_period(150)) [1] 150 period_to_seconds(seconds_to_period(3600)) [1] 3600 period_to_seconds(seconds_to_period(4989000)) [1] 4989000  Read More →

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 →