Bonjour à tous,

J'ai besoin d'utiliser les fonctions de type "parse", "eval", etc, afin d'accéder aux différents éléments d'une liste au sein d'une boucle.
Comme un exemple vaut mieux qu'un long discours :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
L<-list(V1=1:5,V2=8:10,V3=c("a","b","c"))
L
$V1
[1] 1 2 3 4 5
 
$V2
[1]  8  9 10
 
$V3
[1] "a" "b" "c"
 
 
## exemple qui ne tourne pas ##
 
for(k in 1:3)
{
	pp<-paste("L$V",k,sep="")
	Z<-eval(parse(pp))
	print(Z)
}
 
 
## erreur rencontrée ##
 
pp<-paste("L$V",1,sep="")
pp
[1] "L$V1"
 
Z<-eval(parse(pp))
 
Error in file(file, "r") : cannot open the connection
In addition: Warning message:
In file(file, "r") : cannot open file 'L$V1': No such file or directory
Bien sûr, je sais que je pourrais accéder aux éléments de ma liste avec des "L[[k]]", mais ce n'est pas ce que je recherche ici.

J'ai l'impression que le problème vient peut-être du fait que les éléments de ma liste L ne sont pas stockés dans l'environnement global, mais je ne maîtrise pas bien la gestion des environnements.
Mon problème est peut- être trivial, mais je vous remercie par avance pour toute aide


Cordialement,

A.D.