Bonjour,
Mon document computationnel est terminé, est-ce que vous auriez des avis ou des idées d’améliorations à apporter ?
[Exercice à rendre] : avis avant rendu


Bonjour,
Merci pour le partage.
Voici quelques suggestions/remarques :
• L’utilisation de Python n’est pas justifiée ici. Vous pouvez tout faire dans R :
> setwd("D:/temp")
> download.file("http://mescal.imag.fr/membres/arnaud.legrand/teaching/2014/RICM4_EP_ping/liglab2.log.gz", destfile="liglab2.log.gz")
trying URL 'http://mescal.imag.fr/membres/arnaud.legrand/teaching/2014/RICM4_EP_ping/liglab2.log.gz'
Content type 'application/x-gzip' length 498149 bytes (486 KB)
downloaded 486 KB
> df <- read.table(gzfile("liglab2.log.gz"),header = FALSE, fill = TRUE)
> str(df)
'data.frame': 44413 obs. of 10 variables:
$ V1 : Factor w/ 44413 levels "[1421761682.052172]",..: 1 2 3 4 5 6 7 8 9 10 ...
$ V2 : int 665 1373 262 1107 1128 489 1759 1146 884 1422 ...
$ V3 : Factor w/ 1 level "bytes": 1 1 1 1 1 1 1 1 1 1 ...
$ V4 : Factor w/ 1 level "from": 1 1 1 1 1 1 1 1 1 1 ...
$ V5 : Factor w/ 1 level "lig-publig.imag.fr": 1 1 1 1 1 1 1 1 1 1 ...
$ V6 : Factor w/ 1 level "(129.88.11.7):": 1 1 1 1 1 1 1 1 1 1 ...
$ V7 : Factor w/ 1 level "icmp_seq=1": 1 1 1 1 1 1 1 1 1 1 ...
$ V8 : Factor w/ 1 level "ttl=60": 1 1 1 1 1 1 1 1 1 1 ...
$ V9 : Factor w/ 1499 levels "","time=1.00",..: 331 318 318 339 43 325 1240 357 346 201 ...
$ V10: Factor w/ 2 levels "","ms": 2 2 2 2 2 2 2 2 2 2 ...
• La fonction gsub()
ne convertit pas une chaîne de caractères en nombre mais remplace des caractères. Pensez à utiliser la fonction str()
pour vérifier vos données :
> df$V9 <- gsub("[^[:digit:].]", "", df$V9)
> df$V1 <- gsub("[^[:digit:].]", "", df$V1)
> str(df)
'data.frame': 44413 obs. of 10 variables:
$ V1 : chr "1421761682.052172" "1421761682.277315" "1421761682.502054" "1421761682.729257" ...
$ V2 : int 665 1373 262 1107 1128 489 1759 1146 884 1422 ...
$ V3 : Factor w/ 1 level "bytes": 1 1 1 1 1 1 1 1 1 1 ...
$ V4 : Factor w/ 1 level "from": 1 1 1 1 1 1 1 1 1 1 ...
$ V5 : Factor w/ 1 level "lig-publig.imag.fr": 1 1 1 1 1 1 1 1 1 1 ...
$ V6 : Factor w/ 1 level "(129.88.11.7):": 1 1 1 1 1 1 1 1 1 1 ...
$ V7 : Factor w/ 1 level "icmp_seq=1": 1 1 1 1 1 1 1 1 1 1 ...
$ V8 : Factor w/ 1 level "ttl=60": 1 1 1 1 1 1 1 1 1 1 ...
$ V9 : chr "22.5" "21.2" "21.2" "23.3" ...
$ V10: Factor w/ 2 levels "","ms": 2 2 2 2 2 2 2 2 2 2 ...
Ceci explique pourquoi vous devez utiliser la fonction as.numeric dans le plot.
• La variable V2 est déjà numérique. Je ne sais pas pourquoi vous utilisez la fonction as.numeric().
• Je vous conseille d’isoler une partie “préparation des données”. Par exemple, je ferais les conversions de données immédiatement après l’import plutôt que dans la partie “Paquets de petite taille” puis dans la partie “Paquets de grande taille”.
• J’attire votre attention sur la conversion d’une variable de type factor en numérique :
> df <- data.frame(V1=c("1","2","10"))
> df$V2 <- as.numeric(df$V1)
> df$V3 <- as.numeric(as.character(df$V1))
> df
V1 V2 V3
1 1 1 1
2 2 3 2
3 10 2 10
Cordialement,

Merci pour vos conseils !
Quel est le problème avec le type factor ? La conversion est fausse apparemment…

Lorsqu’on convertit le type factor en numérique, c’est l’ordre alphabétique qui est pris en compte. Pour convertir le type factor en numérique, il faut le convertir en caractères puis en numérique (variable V3).
Cordialement,

Bonjour Thomas,
Pour information, votre document sera évalué par deux autres participants de ce MOOC de même vous devrez évaluer au moins 3 autres élèves. Les personnes qui vous évalueront ajouteront des commentaires sur votre copie.
Pour plus d’information sur cet exercice, tout est expliqué sur cette page.
Cord.