[Résolu]Afficher la liste des variables avec leurs valeurs ?

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Abdel Zine
Messages : 75
Enregistré le : 28 Nov 2006, 09:56

[Résolu]Afficher la liste des variables avec leurs valeurs ?

Messagepar Abdel Zine » 26 Jan 2007, 07:57

Bonjour,

La fonction ls() affiche les objets/fonctions de la session, mais est ce que je peux aussi afficher la valeurs de ces variables ?
Merci
Nul ne peut atteindre l'aube sans passer par le chemin de la nuit. Khalil Gibran.

E.V. Dennst

Re: Afficher la liste des variables avec leurs valeurs ?

Messagepar E.V. Dennst » 26 Jan 2007, 08:31

Abdel Zine a écrit :Bonjour,
La fonction ls() affiche les objets/fonctions de la session, mais est ce que je peux aussi afficher la valeurs de ces variables ?
Merci

?ls.str

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 26 Jan 2007, 08:37

Oui: il suffit de taper leur nom dans la console. Voir aussi la fct "objects" qui permet de définir des profils de noms.

Autrement, il est tjs possible d'écrire une fct affichant automatiquement le nom des variables et leur contenu, mais pas vraiment souhaitable quand l'espace de travail est encombré. La fonction ls.str est intermédiaire: affiche les noms et la structure des objets. Attention: bien regarder et étudier les arguments de ces fcts ls, objects, ls.str, etc.

Code : Tout sélectionner

+ > rm(list = ls())
> ls()
character(0)
> x <- 1:10
> y <- rnorm(10)
> xy <- cbind(x, y)
> z <- letters[1:10]
> Data <- data.frame(x, y, z)
> ls()
[1] "Data" "x"    "xy"   "y"    "z"   
> objects(pattern = "x")
[1] "x"  "xy"
> ls.str()
Data : 'data.frame':    10 obs. of  3 variables:
 $ x: int  1 2 3 4 5 6 7 8 9 10
 $ y: num  0.368 0.182 0.664 0.309 1.814 ...
 $ z: Factor w/ 10 levels "a","b","c","d",..: 1 2 3 4 5 6 7 8 9 10
x :  int [1:10] 1 2 3 4 5 6 7 8 9 10
xy :  num [1:10, 1:2] 1 2 3 4 5 6 7 8 9 10 ...
y :  num [1:10] 0.368 0.182 0.664 0.309 1.814 ...
z :  chr [1:10] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
>
> display <- function(){
+   print(v <- ls(pos = 1))
+   sapply(v, function(x) print(get(x)))
+   }
>
> display()
[1] "Data"    "display" "x"       "xy"      "y"       "z"     
    x          y z
1   1  0.3680154 a
2   2  0.1815273 b
3   3  0.6639764 c
4   4  0.3085210 d
5   5  1.8135718 e
6   6 -0.8196684 f
7   7 -0.7753436 g
8   8  1.4457737 h
9   9 -0.7414490 i
10 10  0.5410311 j
function(){
  print(v <- ls(pos = 1))
  sapply(v, function(x) print(get(x)))
  }
[1] "x"
       x          y
 [1,]  1  0.3680154
 [2,]  2  0.1815273
 [3,]  3  0.6639764
 [4,]  4  0.3085210
 [5,]  5  1.8135718
 [6,]  6 -0.8196684
 [7,]  7 -0.7753436
 [8,]  8  1.4457737
 [9,]  9 -0.7414490
[10,] 10  0.5410311
 [1]  0.3680154  0.1815273  0.6639764  0.3085210  1.8135718 -0.8196684 -0.7753436  1.4457737 -0.7414490  0.5410311
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
$Data
    x          y z
1   1  0.3680154 a
2   2  0.1815273 b
3   3  0.6639764 c
4   4  0.3085210 d
5   5  1.8135718 e
6   6 -0.8196684 f
7   7 -0.7753436 g
8   8  1.4457737 h
9   9 -0.7414490 i
10 10  0.5410311 j

$display
function(){
  print(v <- ls(pos = 1))
  sapply(v, function(x) print(get(x)))
  }

$x
[1] "x"

$xy
       x          y
 [1,]  1  0.3680154
 [2,]  2  0.1815273
 [3,]  3  0.6639764
 [4,]  4  0.3085210
 [5,]  5  1.8135718
 [6,]  6 -0.8196684
 [7,]  7 -0.7753436
 [8,]  8  1.4457737
 [9,]  9 -0.7414490
[10,] 10  0.5410311

$y
 [1]  0.3680154  0.1815273  0.6639764  0.3085210  1.8135718 -0.8196684 -0.7753436  1.4457737 -0.7414490  0.5410311

$z
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"


Renaud

Abdel Zine
Messages : 75
Enregistré le : 28 Nov 2006, 09:56

Messagepar Abdel Zine » 26 Jan 2007, 09:25

Très bien merci, je m'étais souvenu l'avoir déjà utilisé mais je pensais qu'il fallait positionner un argument dans ls(), mais en essayer
> ?ls
j'avais pas retrouvé
Merci encore.
Nul ne peut atteindre l'aube sans passer par le chemin de la nuit. Khalil Gibran.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité