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 :

Éliminer certains index d'un array


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut Éliminer certains index d'un array
    Bonjour ,

    Je souhaite enlever certains éléments d'un array ,par exemple les éléments tableau[[2]] , tableau[[45]] de tableau.

    Je cherche mais en vain , y a t'il une fonction sous R pour faire cela? où cela se fait-il par une autre méthode ?

    Merci beaucoup

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    As-tu essayé en mettant un "-" devant le numéro de l'élément que tu souhaites enlever.
    Ça devrait conserver tout le tableau, sauf cet élément...
    C'est à tableau à combien de dimensions ?

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut
    Bonjour,

    Merci de ta réponse,
    Non je n'avais pas essayé le - , je débute depuis peu sous R et malgré pas mal de lecture je n'avais pas vu qu'on pouvait aussi utilisé le - sur l'index d'un tableau .
    Mon tableau est à une dimension.

    Le but est de recréer mon tableau avec en moins les éléments désignés par la fonction influence.measures() afin de repasser une xème fois dessus pour pouvoir faire des test avec les éléments impactant enlevés.

    Pour le moment voilà mon bout de code:

    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
     
    for(i in 1:dim(tableau))
    {
     
            reg<-lm(formula= x ~ y + z , data = tableau[[i]]);
     
            if(is.list(try(inf<-influence.measures(reg),silent=TRUE)))
            {
     
                    # Reject
     
                    for (x in list(which(apply(inf$is.inf, 1, any))))
                    {
                            write.table(tableau[[i]][x,],"reject",sep="\t",row.names = FALSE,col.names = FALSE , quote = FALSE,append = TRUE);
                    }
     
                    # Good
     
                    for (x in list(which(apply(!inf$is.inf, 1, any))))
                    {
                            write.table(tableau[[i]][x,],"'good",sep="\t",row.names = FALSE,col.names = FALSE , quote = FALSE,append = TRUE);
                    }
     
            }
     
     
    }
    J'ai tenté hier soir en vain de recréer un tableau à partir de list(which(apply(inf$is.inf, 1, any))) et toujours pas trouvé

  4. #4
    Membre éprouvé
    Inscrit en
    Mai 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 74
    Par défaut
    Ben si t'a une liste (ce que tu appelle souvent array même si techniquement dans R array est un classe comme matrix......) ...disons qu'il s'appelle Tableau.
    Si tu veux supprimer le i eme element par exemple, tu peut faire ca :

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut
    Merci de ta réponse mais en faisant cela tu élimines totalement les informations contenues dans l'index i alors que ce que je voulais c'était éliminer ce qui ressortais de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    list(which(apply(inf$is.inf, 1, any)))
    Et pour ce faire j'ai fais comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tableau[[i]]<--tableau[[i]][-which(apply(inf$is.inf, 1, any)),]
    Et au passage je viens de me rendre compte que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    list(which(apply(!inf$is.inf, 1, any)))
    ne fonctionnait pas du tout


    Merci en tout cas

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Juin 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Juin 2009
    Messages : 15
    Par défaut
    Citation Envoyé par ssc37 Voir le message
    J'ai tenté hier soir en vain de recréer un tableau à partir de list(which(apply(inf$is.inf, 1, any))) et toujours pas trouvé
    As-tu regardé la fonction unlist(...) ?

    Marc

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

Discussions similaires

  1. [RegEx] Éliminer certaines balises d'une chaine de caractères
    Par Manuxy dans le forum Langage
    Réponses: 4
    Dernier message: 09/09/2009, 15h14
  2. definir l'index d'un array pour variable
    Par terryble dans le forum VBScript
    Réponses: 3
    Dernier message: 15/06/2009, 18h19
  3. Problème d'index pour un array
    Par hokidoki dans le forum Hibernate
    Réponses: 5
    Dernier message: 10/03/2008, 19h58
  4. Réponses: 3
    Dernier message: 07/01/2008, 12h02

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