Modérateur : Groupe des modérateurs
Code : Tout sélectionner
R <- sapply(RGlist,"[[","R") #pour extraire les R de chaque "sous liste"
# sous réserves que les R aient tous la même taille ...
# passage en tableau en prévision du boxplot
R <- as.data.frame(R)
boxplot(R)
Code : Tout sélectionner
test = lapply(vector(6,mode="list"),function(x) x<-rbinom(10,10,p=0.5))
test
[[1]]
[1] 6 4 7 6 6 7 6 3 7 6
[[2]]
[1] 9 4 3 5 7 5 3 3 5 4
[[3]]
[1] 2 4 7 6 2 5 6 7 6 5
[[4]]
[1] 4 3 4 3 8 3 3 5 5 5
[[5]]
[1] 6 4 5 7 3 7 6 6 4 5
[[6]]
[1] 7 6 3 6 6 3 7 4 4 2
Code : Tout sélectionner
test[[1]] # le premier élément de la liste
[1] 6 4 7 6 6 7 6 3 7 6
Code : Tout sélectionner
test[[1:2]] ou test[[c(1,2)]] #va chercher la 2ème valeur du premier élément de la liste
[1] 4
Code : Tout sélectionner
y = 5:6 #je crée vecteur [i,j] de longeur 2 qui vérifie : 1<=i<=5 et 1<=j<=10
test[y]
[[1]]
[1] 6 4 5 7 3 7 6 6 4 5
[[2]]
[1] 7 6 3 6 6 3 7 4 4 2
test[[y]]
[1] 7
y = 5:7 #maintenant y a une longueur de 3
test[[y]]
Erreur dans test[[y]] : échec d'indexation récursive au niveau 2 # R ne sait pas quoi faire de la troisième valeur.
Code : Tout sélectionner
test <- vector(3,mode="list")
test = lapply(test,function(x) x<-lapply(vector(3,mode="list"),function(x) x<-rbinom(10,10,p=0.5)))
test
[[1]]
[[1]][[1]]
[1] 3 6 1 3 8 6 5 6 5 3
[[1]][[2]]
[1] 4 6 6 5 3 4 4 5 8 4
[[1]][[3]]
[1] 4 4 4 6 5 6 6 3 5 5
[[2]]
[[2]][[1]]
[1] 5 7 2 6 5 4 3 5 5 7
[[2]][[2]]
[1] 5 6 4 6 8 6 6 6 4 6
[[2]][[3]]
[1] 6 4 8 3 5 4 4 4 7 5
[[3]]
[[3]][[1]]
[1] 2 5 4 3 4 7 3 7 5 3
[[3]][[2]]
[1] 7 5 3 4 5 6 3 5 4 5
[[3]][[3]]
[1] 5 7 6 5 3 5 5 5 5 6
Code : Tout sélectionner
y=1:3 # on recrée un y car les limites des indexes ont changé
test[y] # toujours pareil on sort les éléments de la liste principale un par un. ici y = {1,2,3} donc on a sorti toute la liste
[[1]]
[[1]][[1]]
[1] 3 6 1 3 8 6 5 6 5 3
[[1]][[2]]
[1] 4 6 6 5 3 4 4 5 8 4
[[1]][[3]]
[1] 4 4 4 6 5 6 6 3 5 5
[[2]]
[[2]][[1]]
[1] 5 7 2 6 5 4 3 5 5 7
[[2]][[2]]
[1] 5 6 4 6 8 6 6 6 4 6
[[2]][[3]]
[1] 6 4 8 3 5 4 4 4 7 5
[[3]]
[[3]][[1]]
[1] 2 5 4 3 4 7 3 7 5 3
[[3]][[2]]
[1] 7 5 3 4 5 6 3 5 4 5
[[3]][[3]]
[1] 5 7 6 5 3 5 5 5 5 6
> test[[y]] # cette fois ci test a une troisième dimension et une indexation a trois valeur donne donc un résultat
[1] 6 # 3ème valeur de la 2ème sous liste du premier éléments de la liste principale.(ouf! :D)
Code : Tout sélectionner
lapply(listprincipale, function(x) lapply(x,FUN))
Code : Tout sélectionner
> lapply(test, function(x) lapply(x,mean))
[[1]]
[[1]][[1]]
[1] 4.6
[[1]][[2]]
[1] 4.9
[[1]][[3]]
[1] 4.8
[[2]]
[[2]][[1]]
[1] 4.9
[[2]][[2]]
[1] 5.7
[[2]][[3]]
[1] 5
[[3]]
[[3]][[1]]
[1] 4.3
[[3]][[2]]
[1] 4.7
[[3]][[3]]
[1] 5.2
Code : Tout sélectionner
par(mfrow=c(2,2))
bob<-lapply(test,boxplot)
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité