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 :

Aide lors de mon stage [Débutant(e)]


Sujet :

R

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 43
    Points : 15
    Points
    15
    Par défaut Aide lors de mon stage
    Bonjour à tous,

    Je suis en stage dans une entreprise et je découvre RStudio.... Le biostatisticien de la boîte m'a fait une formation rapide mais depuis 2 jours je rame pour trouver des réponses...

    J'ai donc un jeu de données comportant 204601 observations de 8 variables.
    J'ai une des variables qui correspond au sexe des animaux. On s'est rendu compte qu'il n'y avait que 237 mâles pour plus de 200000 femelles, autant dire rien... J'aimerais donc supprimer toutes les lignes contenant le facteur mâle (représenté par "1").

    Comment est-ce que je peux le faire?

    Si vous pouviez tout détailler pour que je comprenne bien, ce serait super sympa

    Merci d'avance.

    Edit: Pour que ce soit plus facile, voilà les noms des variables et de mon fichier :

    Tableau=Donnees
    V1=NumVeau, V2=NumMere, V3=NumPere, V4=Sexe, V5=DateIA, V6=DateVelage, V7=DureeGestation, V8=Ecart

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Apprenti bioinformatique
    Inscrit en
    Mars 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Apprenti bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2015
    Messages : 17
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    débutant aussi, en stage en entreprise aussi^^

    Alors il y a une commande magique pour ça : subset.

    Avec cette commande, tu peux sélectionner des sous-parties de ton tableau, en y appliquant des conditions.
    Donc si tu veux tout sélectionner, mais en supprimant les mâles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Donnees_2 <- subset(Donnees, Sexe != "male")
    Ton nouveau tableau sera Donnees_2, tu donnes en argument le nom de ton tableau et les condition à appliquer : ici on ne veut pas que la colonne "sexe" contiennent des "male", donc l'opérateur d'exclusion !=

    Si tu avais voulu conserver certaines colonne seulement, il faut rajouter un select pour préciser les colonnes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Donnees_2 <- subset(Donnees, Sexe != "male", select = c("NumVeau", "NumMere", "NumPere", "Sexe"))
    Tu constates que le nom des colonnes est à préciser dans un vecteur.

    Et un lien pour t'aider sur ce genre de problème :
    http://www.statmethods.net/management/subset.html


    Voilà, j'ose espérer que c'est bien ce qu'il te faut.
    Si tu as besoin de plus de détails, n'hésite pas à demander.

    Bon courage^^

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 43
    Points : 15
    Points
    15
    Par défaut
    Wahouuu merci beaucoup ça a marché!!! Enfin je crois que je n'ai pas eu de ligne rouge pour me dire que j'avais fait de la m****, mais évidement ma moyenne n'a pas beaucoup changé...

    Et aussi (tant que je t'ai sous la main ) on s'est rendu compte qu'il y avait des NumPere qui ne devait pas être là!! Du coup pareil, il faut que je les supprime!!

    Donc par exemple je veux supprimer toutes les lignes qui contiennent le NumPere "BE000187752869" je dois faire cette fonction-là ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subset(Donnees_2, NumPere != "BE000187752869")

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Apprenti bioinformatique
    Inscrit en
    Mars 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Apprenti bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2015
    Messages : 17
    Points : 35
    Points
    35
    Par défaut
    Normalement, oui^^

    Après comme tu utilises RStudio, je te conseille de faire de nouveau tableau plutôt que d'écraser les anciens (si tu ne le fais pas déjà), comme ça tu peux voir en haut à droite, dans "Environment", le nombre de lignes et de variables dans tes tableaux. Si tu connais la différence (ici oui, 237), tu peux constater directement si tu gardes un nombre de lignes cohérent.

    D'ailleurs, pour éviter de faire des tartines de lignes dans ton script, tu peux écrire plusieurs conditions dans la même commande (toujours les opérateurs : "&" "|", pour "et" "ou". La barre de "ou" c'est le raccourci AltGr + 6, au cas où ^^)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Donnees_2 <- subset(Donnees, Sexe != "male" & NumPere != "BE000187752869")

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 43
    Points : 15
    Points
    15
    Par défaut
    D'accord merci pour l'astuce.

    Pour RStudio je garde pratiquement tout ce que j'ai fait (sauf quand ça marche pas) donc pas de soucis.

    Pour l'astuce que tu m'as donnée, est-ce que je peut mettre plusieurs NumPere?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Donnees_2 <- subset(Donnees, Sexe != "male" & NumPere != "BE000187752869" & NumPere != "BE000261423576" & .....
    Je peux en mettre autant que je veux ? (J'aurais peut-être une centaine de NumPere à supprimer...)

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Apprenti bioinformatique
    Inscrit en
    Mars 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Apprenti bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2015
    Messages : 17
    Points : 35
    Points
    35
    Par défaut
    Il n'y a pas de raison pour que cela ne marche pas. Le mieux est encore d'essayer. Par contre ça va vite devenir lourd...

    Quel est le critère qui fait que tu supprimes ces NumPere ? Si c'est uniquement cet id, ça risque d'être vite pénible, surtout si tu en as une centaine.
    Avoir un autre critère de sélection te permettrait de poser une autre condition dans le subset, ce qui te simplifierait beaucoup la tâche.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 43
    Points : 15
    Points
    15
    Par défaut
    Pour résumer, tous les veaux sont de code race 56 (je n'ai pas ce code dans mon jeu de données, c'est le biostatisticien qui m'a fait un gros nettoyage) or pour que les veaux soient 56, il faut que son père et sa mère soient également 56.
    Le problème, c'est qu'on voit apparaitre des ID (genre qui commence par BE pour Belgique) qui n'existent pas en code race 56. J'ai un fichier Excel qui référence tous les taureaux 56 et en le faisant manuellement pour quelques cas et je vois bien qu'il y a une grande partie des taureaux qui ne sont pas 56...

    J'avais pensé à faire une sorte de comparaison avec les ID Excel et les ID R et du coup trouver un programme qui ne me garderait que mes taureaux en commun entre mes deux fichiers, mais là je pense que c'est trop compliqué pour moi...

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Apprenti bioinformatique
    Inscrit en
    Mars 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Apprenti bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2015
    Messages : 17
    Points : 35
    Points
    35
    Par défaut
    Houla...

    Bon, en attendant de trouver quelque chose, un package qui pourrait t'aider : dplyr. Je me le suis fais conseiller ce matin sur le forum justement.

    http://www.rstudio.com/wp-content/up...cheatsheet.pdf

    Pour la manipulation (et opération) de tableau, c'est le pied (c'est en partie une syntaxe que je trouve assez simplifié par rapport à certain truc que R fais déjà. Pour les comparaisons de tableau, ce module te permet de faire des jointures (comme les requêtes SQL) entre tableau (partie Combine Data Sets), ça pourrait être utile pour comparer tes ID (il faudrait bien sur que tu changes ton fichier excel en csv pour l'importer sous R, encore qu'il doit aussi exister des modules excel pour R...).

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 43
    Points : 15
    Points
    15
    Par défaut
    Merci de ton aide, mais j'ai trouvé plus simple ! J'ai envoyé un mail au biostatisticien ce matin et là il m'a renvoyé le fichier corrigé . Du coup, je n'ai plus besoin de faire ce tri-là, il me reste juste à faire le tri des mâles !

    En tout cas merci beaucoup de ton aide !

    Je vais garder le post ouvert au cas où j'aurais d'autres questions durant mon stage

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Apprenti bioinformatique
    Inscrit en
    Mars 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Apprenti bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2015
    Messages : 17
    Points : 35
    Points
    35
    Par défaut
    Pas de souci

    C'est plus simple comme ça, c'est sûr.

    Bonne continuation !

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

Discussions similaires

  1. Besoin d'aide lors de mon projet de conception d'un jeu dont le principe est de "Candy Crush"
    Par Aiman.elmachi dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 16/11/2014, 13h16
  2. Problème de base de données lors de mon stage
    Par mmanta1 dans le forum Sécurité
    Réponses: 3
    Dernier message: 09/06/2007, 21h15
  3. [VBA-E] Aide pour éxécuter mon code en cliquant sur un bouton dans excel.
    Par pauletta22 dans le forum Macros et VBA Excel
    Réponses: 53
    Dernier message: 29/05/2006, 13h47
  4. plantage lors de mon free
    Par salseropom dans le forum C
    Réponses: 16
    Dernier message: 17/02/2006, 18h43
  5. Je besoin d'aide pour terminer mon code
    Par Paulinho dans le forum C++
    Réponses: 7
    Dernier message: 06/11/2005, 23h30

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