Questionnaire de connaissances R

Ce questionnaire est composé de 20 questions indépendantes, et pour chacune d'elles une seule réponse est possible. Il n'y a aucun "piège". Si vous ne savez pas répondre à une question, il est préférable d'indiquer la réponse "Je ne sais pas" plutôt que de répondre au hasard. Une fois que vous avez répondu à l'ensemble des questions, vous pouvez valider votre sélection en cliquant sur le bouton en bas de page.
Attention : La saisie est définitive ; si vous avez oublié de répondre à une question, il ne sera pas possible de mettre à jour vos choix de réponse (ou alors, vous devrez recommencer le questionnaire depuis le début).

Vous recevrez vos résultats (notes et corrigé) par email. N'oubliez pas d'indiquer votre nom ci-dessous.

Remarque. Pour chaque question, il n'y a qu'un seul choix possible et une seule bonne réponse. Chaque réponse correcte est comptabilisée 1 point. Les réponses erronées ne sont pas pénalisées.




Nom
Date (e.g. 21/08/2008)

Gestion de données

1. On souhaite importer le fichier de données "res.dat" sous R. Les valeurs manquantes sont indiquées par la valeur "-99". La variable score est la variable réponse d'intérêt. Voici un aperçu du fichier de données :
score gender cond
    9      F   g1
   12      F   g2
   13      F   g1
   12      F   g2
   10      M   g1
  -99      M   g2
   10      M   g1
   15      M   g2
On supposera que le fichier se trouve dans le répertoire de travail de R. Quelle commande permet d'importer les données sous R ?
read.table("res.dat")
read.table("res.dat", header=TRUE, na.strings="-99")
read.table("res.dat", header=TRUE, na.rm=-99)
Je ne sais pas.
2. Après avoir importé (à l'aide de read.table) et stocké dans une variable R appelée res le fichier de données "resultats.txt", il apparaît que la variable condition doit être recodée de façon à ce que le codage numérique corresponde aux modalités suivantes : 0 = "lent", 1 = "intermédiaire", 2 = "rapide". Il n'y aucune données manquantes. Quelle commande faut-il utiliser ?
res["condition"] <- factor(condition, levels=0:2, labels=c("lent", "intermédiaire", "rapide"))
res$condition <- factor(condition, levels=0:2, labels=c("lent", "intermédiaire", "rapide"))
res$condition <- factor(res$condition, labels=c("lent", "intermédiaire", "rapide"))
Je ne sais pas.
3. Soit une variable qualitative codée sous la forme d'un facteur nommé grp dont les niveaux sont indiqués ci-dessous (20 observations au total) :
> grp
 [1] A A B B C C D D A A B B C C D D
Levels: A B C D
> str(grp)
 Factor w/ 4 levels "A","B","C","D": 1 1 2 2 3 3 4 4 1 1 ...
Quelle commande doit-on utiliser pour transformer ce facteur en une variable qualitative à 3 niveaux ordonnés où : A = "négatif", B et C = "neutre", D = "positif" (négatif < neutre < positif) ?
grp <- as.ordered(grp, levels=c("négatif", "neutre", "neutre", "positif"))
levels(grp) <- c("négatif", "neutre", "neutre", "positif"); grp <- factor(grp, ordered=TRUE)
levels(grp)[2:3] <- "neutre"; grp <- ordered(grp, levels=c(1,3), labels=c("négatif", "positif"))
Je ne sais pas.
4. Les données suivantes sont disponibles dans une variable nommée d dans l'espace de travail de R. On souhaite centrer les valeurs observées sur leur moyenne. Voici un aperçu des données obtenu à partir de head(d, n=5) :
     x    y    z
1 16.9 18.6  3.8
2 16.7 19.9 15.3
3 12.0  7.4  9.9
4  8.8 16.7  3.7
5 15.5  5.3  4.5
Quelle commande doit-on utiliser ?
scale(d, scale=FALSE)
sapply(d, scale)
apply(d, 1, scale, scale=FALSE)
Je ne sais pas.
5. Soit la série de mesures (dosage biologique quelconque) suivante :
7.9 7.6 8.6 7.0 8.0 7.8 NA 7.2 7.0 6.1
En supposant que les mesures aient été stockées dans une variable appelée x, on souhaite remplacer la valeur manquante par la moyenne calculée sur le reste des observations. Quelle commande doit-on utiliser ?
x[x=NA] <- mean(x)
x[which(is.na(x))] <- mean(x)
x[is.na(x)] <- mean(x, na.rm=TRUE)
Je ne sais pas.

Statistiques descriptives

6. On souhaite calculer les scores médians pour chacun des traitements (croisement des niveaux de l'ensemble des facteurs) dans une expérience dont les résultats ont été stockés sous la forme suivante :
    resp V1 V2
1  161.8 t0  A
2  178.7 t0  B
3  198.5 t0  A
4  169.7 t0  B
5  185.5 t0  A
6  175.8 t0  B
7  173.2 t1  A
8  165.1 t1  B
9     NA t1  A
10 193.9 t1  B
11 186.6 t1  A
12 184.1 t1  B
Les variables V1 et V2 désignent les deux facteurs d'intérêt, et resp est la variable réponse. Il y a 12 observations au total. Quelle est la commande appropriée ?
with(d, tapply(resp, V1 + V2, median, na.rm=TRUE))
aggregate(resp ~ V1 + V2, data=d, median, na.rm=TRUE)
aggregate(resp ~ list(V1, V2), data=d, median)
Je ne sais pas.
7. En considérant que l'on dispose d'un data.frame nommé dfrm dans lequel on dispose des réponses individuelles (variable y) de 50 sujets recueillies lors d'une tâche psychophysique au cours de laquelle on manipulait la luminosité de l'écran (variable lum, "basse" ou "élevée") et la taille de la cible à détecter (variable taille, "petite" ou "grande"), quelle commande a permis de produire le graphique de synthèse suivant ?
histogram(~ y + taille, data=dfrm)
histogram(~ y | taille, data=dfrm, groups=lum)
histogram(~ y | taille, data=dfrm, type="count")
Je ne sais pas.
8. Parmi les figures A, B ou C, laquelle a été produite à partir de cette commande ?
xyplot(score ~ verbal, data=d, groups=sexe, type=c("p","g"))
Le facteur sexe a deux niveaux (F et H) et il y a 100 observations au total.
A
B
C
Je ne sais pas.
9. Considérons les données de dosage sur la croissance des dents (ToothGrowth) discutées lors du cours n°3. On souhaite calculer l'intervalle inter-quartile de la variable réponse len en se limitant au premier niveau du facteur supp, c'est-à-dire pour les individus pour lesquels l'administration de la vitamine C a été réalisée à l'aide de jus d'orange (OJ). Quelle commande doit-on utliser ?
IQR(ToothGrowth[ToothGrowth$supp="OJ","len"])
with(ToothGrowth, IQR(len[,supp=="OJ"]))
IQR(subset(ToothGrowth, supp=="OJ")$len)
Je ne sais pas.
10. En supposant que x1 soit codé sous la forme d'un facteur, que produit la commande suivante ?
tapply(y, x1, function(x) c(sum(!is.na(x)), mean(x)))
La moyenne des valeurs non manquantes de y par niveau de la variable x1.
La moyenne et le nombre de données non manquantes pour la variable y par niveau de x1.
La moyenne et le nombre de données manquantes pour la variable y par niveau de x1.
Je ne sais pas.

Mesures d'association et tests d'inférence

11. Pour obtenir l'intervalle de confiance à 95 % associé au coefficient de corrélation linéaire de Bravais Pearson estimé à partir des données suivantes, quelle commande faut-il utiliser ?
x1   11   12   14   11   13   15   14   15   10    13    14    11    13     8     9
x2   12   13   14   11   13   16   15   16   11    14    15    12    14     8    10
confint(cor(x1, x2))
cor(x1, x2, conf.level=0.95)
cor.test(x1, x2, conf.level=0.95)
Je ne sais pas.
12. Un chercheur souhaite tester l'hypothèse que les scores numériques moyens de deux groupes de sujets (25 garçons et 25 filles) dans une tâche d'évaluation de la qualité sonore d'un stimulus auditif diffèrent. Le risque de première espèce (α) est fixé à 5 %. Les variances varient du simple au double entre les deux groupes, mais on ne souhaite pas recourir à une transformation de la variable réponse. Dans le data.frame exp, la variable réponse est nommée scr et le facteur de groupe sex. Laquelle de ces commandes permet de répondre à la question ?
t.test(scr ~ sex, data=exp, alternative="two.sided")
t.test(scr ~ sex, data=exp, var.equal=TRUE)
t.test(sex, scr, data=exp)
Je ne sais pas.
13. Voici un aperçu partiel d'une sortie R, à partir d'un tableau de données comprenant 15 individus recrutés pour une tâche de rappel en mémoire au cours de laquelle on a recueilli deux séries de mesures, x1 et x2. On suppose que ces deux variables sont disponibles dans l'espace de travail de R à partir du data.frame nommé d. Quelle commande a permis de produire ce type de résultat ?
t = -5.1321, df = 14, p-value = 0.0001524
alternative hypothesis: true difference in means is not equal to 0 
95 percent confidence interval:
 -0.9006892 -0.3697498
t.test(x1 ~ x2, data=d, var.equal=TRUE)
with(d, t.test(x1, x2, var.equal=FALSE))
t.test(d$x1, d$x2, paired=TRUE)
Je ne sais pas.
14. On dispose des scores (y) obtenus par 60 enfants dans une tâche de complétement d'images. Trois groupes d'enfants (grp) avaient été constitués au prélable, en fonction de leurs scores de QI. L'ensemble des données a été stocké dans une variable appelée d. Le chercheur décide d'utiliser la commande suivante :
bartlett.test(y ~ grp, data=d)
Que réalise cette commande ?
Elle permet de tester l'hypothèse d'égalité des variances (par rapport à la variable mesurée en y) dans les groupes définis par le facteur grp.
Elle permet de tester l'hypothèse de normalité de la distribution de y dans les groupes définis par le facteur grp.
Elle permet de vérifier que les effectifs par niveaux de grp sont suffisants pour réaliser une ANOVA à un facteur.
Je ne sais pas.
15. Après avoir collecté les réponses (resp) de 30 sujets dans une tâche de choix forcé à deux alternatives de réponse, selon trois conditions d'administration correspondant au temps de présentation de la consigne visuelle à l'écran (facteur inform à 3 niveaux : 200 ms, 350 ms et 500 ms), le chercheur décide de réaliser une ANOVA à un facteur et d'examiner le tableau d'ANOVA correspodant. Les données ont été enregistrées dans le data.frame nommé res. Quelle commande est la plus appropriée ?
summary(aov(resp, grp, data=res))
anova(resp ~ grp, data=res)
summary(aov(resp ~ grp, data=res))
Je ne sais pas.
16. Ci-dessous figurent les résultats d'une ANOVA considérant deux facteurs, x1 et x2, et des réponses collectées sur 100 sujets.
            Df Sum Sq Mean Sq F value   Pr(>F)    
x1           1   1077    1077   4.893 0.029385 *  
x2           1   3255    3255  14.788 0.000219 ***
x1:x2        1   1338    1338   6.081 0.015480 *  
Residuals   94  20688     220                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Combien y'a-t-il de données manquantes au total ?
Aucune
2
1
Je ne sais pas.
17. Après avoir réalisé une ANOVA à deux facteurs (à 2 niveaux chacun), comprenant un terme d'interaction, qui a été stocké dans la variable aov1, on décide d'utiliser la commande suivante :
predict(aov1)
À quoi correspondent les valeurs uniques renvoyées par cette commande ?
Les moyennes marginales pour chacun des niveaux des 2 facteurs.
Les moyennes conditionnelles pour chacun des 4 traitements.
Les écarts entre les valeurs observées et les valeurs prédites par le modèle.
Je ne sais pas.
18. Un chercheur décide de régresser une variable numérique x sur une variable réponse continue y, à l'aide la commande lm. Le résultat est stocké dans une variable appelée lm1. Après avoir vérifié la valeur de la pente de la droite de régression, il souhaite afficher un tableau d'analyse de variance pour le modèle de régression afin d'examiner la part de variance expliquée par la régression. Quelle commande doit-il utiliser ?
aov(lm1)
anova(lm1)
summary.lm(lm1)
Je ne sais pas.

Interprétation de commandes R

19. Quel est le but de cette fonction (l'instruction %% correspond à l'opérateur modulo, utile pour tester la divisibilité d'un nombre par un autre ; par exemple, 4 %% 2 renvoit 0 et 3 %% 2 renvoit 1) ?
f <- function(x) { 
  odd.even <- length(x) %% 2 
  if (odd.even == 0)
    (sort(x)[length(x)/2] + sort(x)[1+length(x)/2]) / 2
  else 
    sort(x)[ceiling(length(x)/2)]
  }
La suite des nombres impairs jusqu'à une certaine valeur x.
La médiane de la série d'observations contenues dans la variable passée en argument de la fonction f.
Le nombre de valeurs ne dépassant pas la valeur médiane de la série d'observations contenues dans la variable passée en argument de la fonction f.
Je ne sais pas.
20. Que renvoit cette commande ?
mean(replicate(1000, mean(rnorm(100, 69.5, 2.9)) - mean(rnorm(100, 63.9, 2.7))))
La moyenne des différences de deux échantillons d'observations de taille 1000 dont les valeurs ont été tirées aléatoirement dans des lois normales de moyennes 69.5 et 63.9, et d'écart-types 2.9 et 2.7, respectivement.
La moyenne des différences de moyennes de deux échantillons d'observations de taille 1000 dont les valeurs ont été tirées aléatoirement dans des lois normales de moyennes 69.5 et 63.9, et d'écart-types 2.9 et 2.7, respectivement.
La moyenne des différences de moyennes de deux échantillons d'observations de taille 100 dont les valeurs ont été tirées aléatoirement dans des lois normales de moyennes 69.5 et 63.9, et d'écart-types 2.9 et 2.7, respectivement.
Je ne sais pas.



Lorsque vous avez complété le questionnaire, merci de cliquer sur le bouton "Valider" pour soumettre vos réponses.
Attention : La saisie est définitive ; si vous avez oublié de répondre à une question, il ne sera pas possible de mettre à jour vos choix de réponse (ou alors, vous devrez recommencer le questionnaire depuis le début).