Comment faire une boucle repeat avec R ? repeat
i <- 0 repeat { i <- i + 1; print(i); if (i >= 10) break; } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6 [1] 7 [1] 8 [1] 9 [1] 10Read More →
i <- 0 repeat { i <- i + 1; print(i); if (i >= 10) break; } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6 [1] 7 [1] 8 [1] 9 [1] 10Read More →
Les conditions permettent d’exécuter une commande en fonction d’une ou plusieurs conditions. La forme la plus simple s’écrit : if (condition){ + commande1 + commande2 + … +} Exemple : B<-TRUE x<-2 if (B==TRUE){ x<-x+1 y<-10 } x [1] 3 y [1] 10 Dans ce cas là si B est différent de TRUE rien n’est effectué. Pour ajouter une des commandes lorsque que la première condition n’est pas vérifiée on utilise else : if (condition){ + commande1 + commande2 + … } else (condition){ + commande1 + commande2 + … +} Exemple : B<-FALSE x<-2 if (B==TRUE){ Read More →
La loi Gamma ou d’Euler est une loi très utiles pour les propriétés de décroissance rapide. La loi Gamma peut décrire des phénomènes de durée de vie, pour l’étude du temps écoulé entre deux faits. Sur R, les options shape et scale correspondent respectivement α et β. Nous pouvons calculer la densité de probabilité de la loi G(1,3) pour la valeur x=2 grâce à la fonction dgamma() : X<-2alpha<-1beta<-3 dgamma(x,shape=alpha,scale=beta) Nous pouvons calculer la probabilité que x soit inférieur ou égal à 2 sur la loi G(1,3), c’est-à-dire calculer la fonction de répartition F(2) grâce à la fonction pgamma() : X<-2alpha<-1beta<-3 pgamma(x,shape=alpha,scale=beta) Nous pouvons également calculer la probabilité que x soit supérieur à 2 sur la loi G(1,3) : X<-2alpha<-1beta<-3Read 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 →
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 →
ABCD'R (par ThinkR ) © 2024 - Confidentialité