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 colonne avec condition ?


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2015
    Messages : 54
    Par défaut Sélection de colonne avec condition ?
    Bonjour,

    Y aurait - il un moyen me permettant dans une boucle for de ne sélectionner que mes variables de format numérique ?
    Autrement, je devrais les écrire manuellement par moi - même.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Janvier 2012
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 325
    Par défaut
    Utilise is.numeric

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2015
    Messages : 54
    Par défaut
    Edit : J'ai finalement réussi à isoler mes colonnes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    varnum <- sapply(df, is.numeric)
    Mon deuxième soucis étant à présent que j'aurais besoin de créer une boucle qui me permettrais d'appliquer un certain nombre de fois une fonction sur mes variables numériques. Mais mes valeurs sont aberrantes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test <- data.frame(apply(df[varnum], 2 ,mean))

  4. #4
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Par défaut
    Bonjour,

    Qu'entendez-vous par "mes valeurs sont aberrantes" ?
    Pouvez-vous nous montrer à quoi ressemble votre sortie ? Et ce à quoi vous vous attendriez ?


    Cordialement,


    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2015
    Messages : 54
    Par défaut
    Bonjour,

    En recopiant manuellement chacune de mes colonnes numériques, le code ressemble à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test <- data.frame(apply(df[,c("var1", "var2", "var3", "..." , "var149", "var150")], 2 ,mean))
    Et le résultat est le suivant :
    Nom : Manuellement.JPG
Affichages : 2395
Taille : 24,7 Ko



    Alors que quand je le fais automatiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    varnum <- sapply(df, is.numeric)
    test <- data.frame(apply(df[varnum], 2 ,mean))
    J'obtiens ceci :
    Nom : Automatique.JPG
Affichages : 2418
Taille : 24,2 Ko

  6. #6
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Par défaut
    Re-bonjour,

    Je ne sais pas si c'est une faute de frappe lors de l'écriture de votre message mais il me semble qu'il manque une virgule pour la sélection des colonnes du dataframe :
    Il faudrait plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    varnum <- sapply(df, is.numeric)
    test <- data.frame(apply(df[,varnum], 2 ,mean))

    Cordialement,


    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  7. #7
    Membre chevronné
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Par défaut
    Citation Envoyé par Mac_Leod Voir le message

    Sengar, je ne comprend absolument pas ce que tu essayes de me dire :-/
    Regarde attentivement les deux tableaux ci dessous.

    Ils renvoient les même valeurs si tu enlèves 8 premières lignes du deuxieme tableau.
    Dans ton code où tu rentres les noms de variables manuellement, tu as du oublier les 8 premieres variables c'est tout.

    En gros, il n'y a pas de valeur aberrantes, tu n'es juste pas sur le même nombre de variables.


    En recopiant manuellement chacune de mes colonnes numériques, le code ressemble à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test <- data.frame(apply(df[,c("var1", "var2", "var3", "..." , "var149", "var150")], 2 ,mean))
    Et le résultat est le suivant :
    Nom : Manuellement.JPG
Affichages : 2395
Taille : 24,7 Ko



    Alors que quand je le fais automatiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    varnum <- sapply(df, is.numeric)
    test <- data.frame(apply(df[varnum], 2 ,mean))
    J'obtiens ceci :
    Nom : Automatique.JPG
Affichages : 2418
Taille : 24,2 Ko

Discussions similaires

  1. [VBA-E] Minimum d'une colonne avec condition sur autre colonne
    Par Currahee dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/05/2007, 17h01
  2. [VBA-E] Suppression des colonnes avec condition
    Par desdenova dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2007, 13h39
  3. [Oracle] Update sur 1 colonne avec condition existence (SUBSTR)
    Par magic charly dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/04/2006, 13h57
  4. nouvelle colonne avec condition
    Par evaness dans le forum Access
    Réponses: 6
    Dernier message: 06/09/2005, 16h35
  5. Sélection multi table avec condition
    Par iuz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/05/2004, 15h04

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