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 :

obtenir les effectifs de plusieurs variables considérées comme numériques


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Doctorat in process
    Inscrit en
    Août 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorat in process
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 43
    Par défaut obtenir les effectifs de plusieurs variables considérées comme numériques
    bonjour,
    je souhaite réaliser qqchose de tout simple, mais je n'arrive pas à obtenir ce que je souhaite...
    J'ai présenté plusieurs variables sur un mode "0 ou 1" : 0 : l'individu ne possède pas l'attribut, 1 : il le possède.
    J'ai plusieurs variables que je souhaiterai voir présentées en tableau d'effectif, mais je n'arrive qu'à obtenir des moyennes, min, max...
    il est trop long de passer une variable après l'autre car j'en ai une vingtaine.
    Je vois bien que ma question est basique mais je n'arrive pas à obtenir ce simple tableau d'effectif qui se ferait tout seul avec des variable qualitatives.

  2. #2
    Membre émérite
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Par défaut
    cf. la fonction table.

  3. #3
    Membre averti
    Femme Profil pro
    Doctorat in process
    Inscrit en
    Août 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorat in process
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 43
    Par défaut
    le problème de table, c'est que je dois le faire variable par variable. Et si je le fait sur le dataframe entier il me met un message d'erreur comme quoi il y a "plus de 2^31 éléments".
    Par ailleurs il me donne à chaque fois le nombre de 0 et de 1... j'aurai voulu un simple effectif des "1" (présence) pour chaque variable pour faire des tableaux de contingence ensuite en croisant avec une autre variable.
    C'est ballot, à part une manip simplissime de sommes sous Excel, je n'arrive pas à la faire avec R.
    Ou alors c'est un pb de présentation des données dans mon tableau de départ ?

  4. #4
    Membre émérite
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Par défaut
    Pourrais-tu donner un exemple car je ne comprends pas ce que tu cherches à faire. De plus les tableaux de contingence sont a minima 2x2, il nécessite donc de compter les 0 et 1.

  5. #5
    Membre averti
    Femme Profil pro
    Doctorat in process
    Inscrit en
    Août 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorat in process
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 43
    Par défaut
    j'ai une liste de répondants à un questionnaire. Une question concernait des "valeurs humaines", importantes ou non pour chaque répondant : par exemple la sécurité, la nature, l'éthique...
    Au départ dans mon tableau de réponses, j'avais ces termes en toutes lettres : valeur 1 (entête de colonne) : sécurité... valeur 2(entête de colonne) : nature....
    donc une présentation de ce type :
    ............................... val 1................val 2..................val 3...........val 4.....
    répondant 1 ......sécurité.............sécurité...............éthique..............NA
    répondant 2........nature...............bienveillance.........sécurité...........bienveillance
    répondant 3 .......bienveillance.......éthique................sécurité...........sécurité

    il y a des doublons car c'était une question ouverte avec 4 mots possibles et j'ai regroupé les catégories de ces mots sous ces "valeurs humaines"
    Comme je ne savais pas comment réaliser ce tableau d'effectif, j'ai mis en entête l'ensemble de mes valeurs, et indiqué zéro ou 1 selon qu'elle soit citée ou non par les répondants (j'ai même une première version ou j'indique le nombre de fois ou chaque valeur est citée vu qu'elles peuvent revenir plrs fois pour un même répondant, mais si besoin pour simplifier on peut rester sur 0 ou 1). Ca donne au départ :

    variables->..........Sécurité...........bienveillance.......éthique... .....nature ......
    répondant 1 :..........2......................0........................1...................0
    répondant 2 :..........1......................2........................0...................1
    répondant 3 :..........2......................1........................1...................0

    ensuite je voudrais croiser ces réponses avec différents éléments de profil (par exemple sexe, métier....) afin de voir si des typologies se dessinent.

  6. #6
    Membre expérimenté
    Profil pro
    Loisir
    Inscrit en
    Novembre 2011
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Novembre 2011
    Messages : 159
    Par défaut
    Bonjour,

    de manière rapide mais peu sexy

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    v1 <- c("sec", "nat", "bie")
    v2 <- c("sec", "bie", "eth")
    v3 <- c("eth", "sec", "sec")
    v4 <- c(NA, "bie", "sec")
    df1 <- data.frame(v1, v2, v3, v4)
    row.names(df1) <- c("r1", "r2", "r3")
    df1
    df2 <- t(df1)
    df2
    library("reshape2")
    df3 <- melt(df2)
    df3
    table(df3$Var2, df3$value)

  7. #7
    Membre émérite
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Par défaut
    je voudrais croiser ces réponses avec différents éléments de profil (par exemple sexe, métier....) afin de voir si des typologies se dessinent.
    Je suis loin d'être persuadé que des tableau de contingence répondent à ton problème. Il existe des méthodes pour extraire des typologies, par exemple des analyses de profils comme celles proposées dans la package SensoMineR mais il doit en exister d'autres. Cherche de ce côté.

  8. #8
    Membre averti
    Femme Profil pro
    Doctorat in process
    Inscrit en
    Août 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorat in process
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 43
    Par défaut
    Je pensais m'orienter aussi vers FactomineR pour croiser mes données

  9. #9
    Membre émérite
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Par défaut
    SensoMineR est une extension de FactoMineR donc à voir si FactoMineR suffit ou s'il faut aller plus loin.

    Une question supplémentaire : est-ce simplement la présence de l'item est suffisant ou son rang peut-il apporter d'autres choses ? Si oui, alors essayer une PCA sur les rangs. C'est facile à programmer : s'il y a plusieurs occurrences, prendre la moyenne des rangs sinon, prendre le rang lui-même puis appliquer la fonction PCA de FactoMineR. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    x <- c( 1, 2, 3, 3, 4, 2, 6, 5)
    # alors
    rank.x <- rank( x)
    # on peut vérifier que c'est exact à partir de
    sort( x)
    Bien entendu faire cela sujet par sujet.

Discussions similaires

  1. Variable définie comme numérique et caractère
    Par cococmoi dans le forum SAS Base
    Réponses: 1
    Dernier message: 26/03/2013, 10h49
  2. Réponses: 6
    Dernier message: 08/02/2012, 14h24
  3. Les e-mails envoyés sont considérés comme du spam
    Par etters dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/06/2009, 15h06
  4. affecter les champs d'un resultat a plusieur variables
    Par ricoree78 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/11/2006, 18h09
  5. [Lisp] Variable considérée comme une fonction
    Par lunart dans le forum Lisp
    Réponses: 2
    Dernier message: 07/04/2005, 15h48

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