IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Supprimer un élément d'une liste


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Par défaut Supprimer un élément d'une liste
    Pour optimiser la gestion de la ram, il est sans doute utile de supprimer des objets au fur et à mesure du déroulement des prgms.

    En faisant rm (list=ls() ), on supprime tous les objets R de la Ram, libérant ainsi de la RAM (vérifier avec gc() ).

    Je souhaiterais faire ce delete général modulo un élément que je connaîtrais.
    D'où la question, si l'objet que je souhaite garder s'appelle "base",

    comment exclure de list=ls(), l'élément "base" ?
    merci

  2. #2
    Membre éprouvé
    Inscrit en
    Mai 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 74
    Par défaut
    Je crois que j'avais une méthode originale mais je m'en souviens plus mais j'en connais une qui fonctionne.
    Disons que t'a en memoire 3 objets : "base", "x" et "y" et que tu veux juste garder base. Ben tu utilise la fonction match comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rm(list=ls()[-match("base",ls())])

  3. #3
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Par défaut
    merci c'est ce que je cherchais

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut
    Désolé de ré-ouvrir la discussion mais j'ai une question sur le même sujet.

    Existe -t -il une fonction pour supprimer spécifiquement un élément d'une liste dans R ou tout doit se faire à la main ?

    J'ai plusieurs éléments à supprimer, si je dois tout faire à la main ça va devenir complexe

    Quelqu'un à t il une idée ???

    Merci beaucoup !!!

  5. #5
    Membre éprouvé
    Inscrit en
    Mai 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 74
    Par défaut
    Salut
    En fait si tu connais les éléments à supprimer l'idée est d'y assigner NULL
    Disons que t'a une liste et tu veux supprimer le premier et le quatrième éléments :
    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
    set.seed(1)
    R> (MaListe <- list(a = 1:12, b = LETTERS[1:4], c = rnorm(10), d = month.abb))
    $a
     [1]  1  2  3  4  5  6  7  8  9 10 11 12
     
    $b
    [1] "A" "B" "C" "D"
     
    $c
     [1]  0.91898  0.78214  0.07456 -1.98935  0.61983 -0.05613
     [7] -0.15580 -1.47075 -0.47815  0.41794
     
    $d
     [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct"
    [11] "Nov" "Dec"
    MaListe[c("a", "d")] <- NULL
    R> MaListe
    $b
    [1] "A" "B" "C" "D"
     
    $c
     [1]  0.91898  0.78214  0.07456 -1.98935  0.61983 -0.05613
     [7] -0.15580 -1.47075 -0.47815  0.41794
    # tu pouvais aussi faire MaListe[c(1, 4)]
    J'èspere que c'est ce que tu cherchais

  6. #6
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut
    SUPER !!!! Merci infiniment, j'étais parti dans un bric a brac horrible !!!

    Connaissant R, je me disais bien qu'il devait y avoir un moyen (légèrement) plus simple.

    Encore MERCI !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. supprimer un élément d'une liste avec erase
    Par jane40 dans le forum Débuter
    Réponses: 12
    Dernier message: 24/01/2009, 12h26
  2. Réponses: 7
    Dernier message: 23/04/2008, 10h21
  3. Réponses: 12
    Dernier message: 04/03/2007, 11h43
  4. Réponses: 3
    Dernier message: 25/10/2006, 19h08
  5. Supprimer des éléments d'une liste
    Par espadon1 dans le forum Langage
    Réponses: 2
    Dernier message: 31/05/2006, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo