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 :

Mise en forme d'un tableau Binaire sous R


Sujet :

R

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Mise en forme d'un tableau Binaire sous R
    Bonjour à tous,

    Je viens vers vous aujourd'hui car je suis en Master 1 IEGB à Montpellier, et pour mon sujet de stage je dois réaliser certaines stats. Je dois donc utiliser le logiciel R studio mais je rencontre certains soucis.

    Mon tableau (que j'ai réalisé sur exel), recence la présence ou l’absence de certaines espèces animales (codé en 0 pour non détecté et 1 pour détecté).
    Je veux au final comparer l'efficacité de 4 méthodes de détection et j'ai en tout 20 sites d'études sur lesquels je peux poser mes méthodes et ensuite récolter mes données à analyser.

    Au final mon tableau ressemble à ça


    M1S1 M1S2 M1S3 ....... M4S1 M4S2

    Lièvre 0 1 1 0 0
    sanglier 1 1 1 0 0
    écureuil 1 0 1 1 0
    .
    .
    .
    .


    M1 signifie méthode 1 et S1 site 1...

    J'aimerai parvenir à mettre en forme ce tableau sous R de sorte de pouvoir réaliser les statistiques suivante:

    Combien y a t-il de 0 et de 1 pour les M1 tous sites confondu?
    Combien ya t-il en moyenne de 0 pour tous les M2?
    ect...?


    Merci d'avance pour votre aide!
    Bonne journée

  2. #2
    Membre du Club
    Homme Profil pro
    Etudiant - Toulouse
    Inscrit en
    Avril 2017
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Etudiant - Toulouse

    Informations forums :
    Inscription : Avril 2017
    Messages : 57
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    alors quelques conseils dans un premier temps :

    1) Compter le nombre de 0 et 1 est tout à fait possible sur Excel peut-être est-il plus pertinent de continuer dessus (je te le conseille vraiment)
    2) N'essaie pas de construire cette table directement sur R mais importe la !
    -tu enregistres sous ton fichier Excel en CSV
    -tu l'importes sur R grâce à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    data <- read.csv("chemin_de_ton_fichier", header = TRUE, sep = ";") #regarde la documentation de read.csv en cliquant dessus en en appuyant sur F11
    Mano

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Oui merci v4ss73r! entre temps j'ai fini par prendre cette option^^j'ai bien avancé depuis! mais merci d'avoir pris le temps de lire mon message et de me répondre!


  4. #4
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    une solution avec les librairies tidyr et dplyr :
    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
    # un exemple
    tab <- 
    structure(list(Espece = structure(c(2L, 3L, 1L), .Label = c("ecureuil", 
    "Lievre", "sanglier"), class = "factor"), M1S1 = c(0L, 1L, 1L
    ), M1S2 = c(1L, 1L, 0L), M1S3 = c(1L, 1L, 1L), M2S1 = c(0L, 0L, 
    1L), M2S2 = c(0L, 0L, 1L), M2S3 = c(1L, 0L, 0L)), .Names = c("Espece", 
    "M1S1", "M1S2", "M1S3", "M2S1", "M2S2", "M2S3"), row.names = c("Lievre", 
    "sanglier", "ecureuil"), class = "data.frame")
     
    # tu peux l'obtenir à partir de read.table
    library(tidyr)
    library(dplyr)
     
    # si les espèces ne sont pas dans une colonne mais dans les noms des lignes :
    tab <- cbind(Espece = rownames(tab), tab)
    tab2 <- gather(tab, "methode", "valeur", -1)
    tab2 <- tab2 %>% extract(methode, c("Methode", "Site"), regex="^([A-Z]\\d+)([A-Z]\\d+)$")
    Une fois que tu as toutes les informations en colonne tu peux faire des sommes en fonction des regroupements que tu veux avec la commande group_by.
    Par espèce et par méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab2 %>% group_by(Espece, Methode) %>% summarise(N = sum(valeur))
    Par methode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab2 %>% group_by(Methode) %>% summarise(N = sum(valeur))
    etc.

    cdlt

Discussions similaires

  1. Changer la mise en forme d'un tableau et de son contenu ?
    Par ghohm dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/07/2007, 12h19
  2. [MS-Project] Mise en forme d'un tableau
    Par babemagus dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 06/06/2007, 15h56
  3. [XSLT]Mise en forme d'un tableau par categorie
    Par dibox dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/12/2006, 16h42
  4. [ struts-layout ]Mise en forme d'un tableau
    Par sandrinec dans le forum Struts 1
    Réponses: 2
    Dernier message: 01/06/2006, 10h06

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