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 :

supprimer variables dans transform


Sujet :

R

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut supprimer variables dans transform
    Bonjour,
    Il est possible de supprimer des variables tout en utilisant la fonction transform.
    Supposons en effet que nous ayons un dataframe avec les variables V1, V2, V3, V4, V5, et que nous voulions supprimer les variables V1 et V4.
    Il suffit d'écrire quelque chose comme DF2 <- transform(DF1[,c('V2','V3','V5')], ...).
    Je souhaiterais savoir s'il est possible de supprimer des variables avec la même fonction transform, mais avec une syntaxe différente.
    Du genre DF2 <- transform(DF1, del=c('V1','V4')).

    Est-ce que quelqu'un saurais dire si cette possibilité existe ?

  2. #2
    Membre expérimenté Avatar de Alpacky
    Homme Profil pro
    .
    Inscrit en
    Mars 2014
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Mars 2014
    Messages : 99
    Par défaut
    Bonjour,

    Quel est l'avantage d'utiliser cette fonction (que je ne connaissais pas) par rapport aux autres méthodes ? Avez-vous un besoin précis que seul cette fonction peut remplir ?
    Il semblerait que les créateurs en déconseillent l'utilisation https://www.rdocumentation.org/packa...pics/transform.

    Je pense qu'il vaut mieux opter pour des moyens plus "classiques" (au vue de l'help) mais ce n'est que mon avis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    data(mtcars)
     
    # test based
    test <- mtcars[, !names(mtcars) %in% c("drat","hp")]
    # subset fonction
    test <- subset(mtcars, select = - c(drat, disp)) 
    # dplyr 
    library(dplyr)
    test <- mtcars %>%
      select(- c(disp, drat))
    il y a encore bien d'autres façons notamment avec dplyr pour la syntaxe ( avec !!operateur...)
    Je pense que ce qui se rapproche le plus de votre fonction est subset ou la première ligne de code mais vous en connaissez certainement l'existence.

  3. #3
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    library(dplyr)
    test <-  select( mtcars, - c(disp, drat))
    fonctionne aussi bien que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    library(dplyr)
    test <- mtcars %>% select(- c(disp, drat))
    De plus, c'est plus lisible, plus intuitif et plus rapide. Il ne viendrait à personne l'idée d'écrire L'utilisation du pipeline (%>%) n'a vraiment de sens que dans le cas où il faut enchaîner plusieurs fonctions dont la suivante utilise comme entrée la sortie de la précédente.

    Enfin, si on veut être logique avec l'utilisation du pipeline qui suppose une lecture de gauche à droite, il faudrait alors écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mtcars %>% select(- c(disp, drat)) -> test

Discussions similaires

  1. Supprimer un lien d'image avec variable dans un champ
    Par XaYaZa dans le forum Langage SQL
    Réponses: 10
    Dernier message: 14/03/2018, 18h17
  2. Réponses: 10
    Dernier message: 24/02/2014, 15h22
  3. [PHP 5.4] supprimer doublon dans une variable
    Par laurentbatch dans le forum Langage
    Réponses: 29
    Dernier message: 14/08/2013, 18h11
  4. Supprimer une variable dans un fichier .mat
    Par ancrou dans le forum MATLAB
    Réponses: 4
    Dernier message: 08/06/2007, 11h58
  5. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 12h53

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