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 :

Sélection de lignes dans un tableau


Sujet :

R

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 61
    Points : 43
    Points
    43
    Par défaut Sélection de lignes dans un tableau
    Bonjour!

    J'aimerais créer un sous-tableau à partir d'un grand tableau d'environ 26000 lignes fois 400 colonnes en sélectionnant un certain nombre de lignes dont j'ai les noms des en-têtes. Les lignes du grand tableau ont aussi des noms.

    Y a-t-il un moyen assez rapide (le tableau est grand) de sélectionner ces lignes en utilisant leurs noms pour créer un nouveau tableau?

    Merci d'avance!

  2. #2
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Oui, c'est tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grandtableau[<vecteur nom des lignes>, ]
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    1) Titi<-Toto[rownames(Toto)==c(les indices des lignes à extraire),]
    # dim(Toto)= 26000 400

    2) tu peux utiliser la fonction grep aussi je pense


    Bien à toi
    Manoir

  4. #4
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    Merci pour vos réponses. Le problème est que mes noms de lignes ne sont pas dans un vecteur, mais dans un facteur... et la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grand_tableau[noms_lignes,]
    ne donne pas les bonne lignes... Sauriez-vous pourquoi?

    Merci encore.

  5. #5
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Citation Envoyé par circe Voir le message
    ...ne donne pas les bonne lignes... Sauriez-vous pourquoi?
    Oui, les niveaux d'un facteurs ont en même temps une valeur numérique, correspondant à leur position dans le vecteur renvoyé par
    et un label (ce qui s'affiche).
    Si tu utilise ton facteur pour indicer les lignes, R va utiliser la valeur numérique (numéro de ligne, et là ça ne doit pas être les bonnes). Pour qu'il indice sur les noms de lignes, fais simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grand_tableau[as.character(noms_lignes),]
    Edit: ce comportement des factors est franchement dangereux... j'ai déjà perdu des journées entières de boulot à trouver pourquoi des résultats n'étaient pas cohérents. On devrait à mon avis toujours les transformer en un autre type avant de les utiliser pour indicer quelque chose, même si c'est la valeur numérique qui est souhaitée : ça rendrait le comportement de R intuitivement plus prévisible.
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  6. #6
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    Merci, la solution avec

    fonctionne, mais en l'essayant sur un petit tableau 10 x 3, choisissant de sélectionner 3 lignes, elle prend un temps énorme...

  7. #7
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Citation Envoyé par circe Voir le message
    ...fonctionne, mais en l'essayant sur un petit tableau 10 x 3, choisissant de sélectionner 3 lignes, elle prend un temps énorme...
    Ça c'est pas normal du tout !
    Je vois quelques causes possibles (mais la liste n'est sûrement pas exhaustive) :
    1. y'a un prog externe qui te fais ramer ta bécanne (antivirus,...)
    2. tu utilises beaucoup (trop?) de mémoire et ça swape à mort (ça m'arrive parfois quand je bosse sur des très gros jeux de données)
    3. ...
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  8. #8
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    Merci pour l'aide! Oui, en effet, les jeux de données que j'ai sont super lourds... Finalement, en utilisant les numéros de lignes (au lieu de noms de lignes), ça va plus vite.

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

Discussions similaires

  1. Sélection de lignes dans un tableau
    Par Belphegor59 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/12/2012, 23h04
  2. Réponses: 1
    Dernier message: 20/10/2008, 21h57
  3. sélection de lignes dans un tableau
    Par schwarzy2 dans le forum Langage
    Réponses: 8
    Dernier message: 18/06/2008, 17h23
  4. probleme bizarre de hauteur auto d'une ligne dans un tableau
    Par zax-tfh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/01/2005, 23h34
  5. [C#] Affichage des lignes dans un tableau.
    Par maldufleur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h28

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