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 :

Spécification des variables dans une fonction


Sujet :

R

  1. #1
    Invité
    Invité(e)
    Par défaut Spécification des variables dans une fonction
    Bonjour,

    Lorsque l'on utilise la fonction lm (par exemple) sous R, on écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lm(variable1 ~ variable2, data=matable)
    Et la fonction lm "comprend" qu'elle doit prendre la variable qui s'appelle "variable1" dans la table "matable".

    Ce que j'aimerais, c'est pouvoir faire de même dans une fonction que j'aurais moi-même créée, c'est-à-dire pouvoir écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mafonction(variable1, variable2, matable)
    si ma fonction se présente sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mafonction <- (var1, var2, data)
    plutôt que de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mafonction(matable$variable1, matable$variable2)
    avec une fonction se présentant sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mafonction <- (var1, var2)
    N'hésitez pas à me demander des précisions si je n'ai pas été assez claire dans mes explications.
    Merci d'avance

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2013
    Messages : 75
    Points : 191
    Points
    191
    Par défaut utilisation des lazy evaluation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    f <- function(x1, y1, data) { 
         cl <- match.call() 
         mt <- match(c('x1', 'y1'), table=names(cl))
         mt <- mt[mt != 0]
         x1 <- data[, as.character(cl)[mt[1]]]
         x2 <- data[, as.character(cl)[mt[2]]]
         print(x1)
         print(x2)
    }
    ce code te permet de passer des noms de variables sans utiliser les quottes.
    ce code fait également appel à un mécanisme appelé lazy evaluation, qui consiste à ne pas évaluer les arguments passés à une fonction jusqu'à ce ceux-ci soient utilisés.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Super, merci beaucoup !

    Par contre, à quoi sert la ligne :
    ?

Discussions similaires

  1. Utiliser des variables dans une fonction
    Par zugolin dans le forum Langage
    Réponses: 7
    Dernier message: 10/04/2009, 15h11
  2. déclaration des variables dans une fonction
    Par kawther dans le forum Débuter
    Réponses: 4
    Dernier message: 22/10/2008, 01h17
  3. Passer des variables dans une fonction
    Par Herlece dans le forum PL/SQL
    Réponses: 11
    Dernier message: 11/07/2008, 14h18
  4. [D5] Créer dynamiquement des variables dans une fonction
    Par MelkInarian dans le forum Delphi
    Réponses: 11
    Dernier message: 14/04/2007, 12h16
  5. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50

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