D´eveloppement logiciel Master 1 Biostat / MIND
Dur´ee : 2h00
Les notes de cours et l’aide de Rsont autoris´ees.
Une tr`es grande importance sera port´ee sur la r´edaction de vos codes. Ainsi usez (abusez ?) de
commentaires dans votre code, choisissez de bons noms pour vos variables, veillez `a l’indenta-
tion. . . (ceci pour avoir une meilleure note)
Retenez que chaque figure devra ˆetre consciencieusement r´ealis´ee. Vous voil`a pr´evenu ! ! !
Vous me remettrez votre code sur une cl´e USB et le nom de votre fichier sera de la forme
Nom-Pr´enom.R (au format Rou RMarkdown selon vos pr´ef´erences).
Exercice 1 (R´einventons la roue nomm´ee ”hist”).
Le but (extrˆemement motivant) de cet exercice est de faire un histogramme par nos propres moyens
et de comparer notre impl´ementation `a celle fournie de base par R via la fonction hist.
a) Faites une fonction R qui pour un ´echantillon x1, . . . , xndonn´e et des classes c1= (a0, a1), c2=
(a1, a2), . . . , ck= (ak−1, ak), calcule les effectifs pr´esents dans chaque classe.
b) Importez les donn´ees disponibles via le lien suivant
http://lib.stat.cmu.edu/DASL/Datafiles/ceodat.html
et testez votre fonction d´evelopp´ee en a) pour voir si elle semble correcte.
c) Faites une fonction qui trace un histogramme de statisticien et testez votre fonction sur les
donn´ees de salaire import´ees en b).
d) Comparez votre r´esultat `a celui obtenu par la fonction hist de R. Eventuellement conclure sur
votre niveau en R.
Conseil et contraintes : la fonction rect pourra vous ˆetre utile. Cependant il est interdit d’uti-
liser la fonction table de Rpour cet exercice.
> effectifs <- function(data,classes){
+ n.classes <- length(classes) -1
+ ans <- rep(NA, n.classes)
+for (i in 1:n.classes)
+ ans[i] <- sum((data >classes[i]) &(data <= classes[i+1]), na.rm =TRUE)
+return(ans)
+}
>
> data <- read.table("CEOSalaries.txt",header =TRUE,skip =12,
+na.string ="*")
>
>effectifs(data$SAL, seq(0,1200,by =100))
[1] 2 5 18 13 4 6 3 4 3 0 0 1
1