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 :

Apprentissage de R : exemple d'illustration non compris


Sujet :

R

  1. #1
    Candidat au Club
    Femme Profil pro
    Data analyst
    Inscrit en
    Mai 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Data analyst

    Informations forums :
    Inscription : Mai 2020
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Apprentissage de R : exemple d'illustration non compris
    Bonjour tout le monde,

    j'ai commencé tout récemment à me former à R, et pour ça j'utilise le pdf Introduction à la programmation en R de Vincent Goulet.
    Dans la partie concernant les opérations entre vecteurs, il y a un point d'attention sur les opérations entre vecteurs de longueurs différentes.
    L'exemple d'illustration est le suivant :

    > c(-2, 3, -1, 4)^1:4 # Le calcul que j'effectue
    [1] -2 -1 0 1 2 3 4 # ce que R me renvoie
    Warning message:
    In c(-2, 3, -1, 4)^1:4 :
    numerical expression has 4 elements: only the first used


    --> Je ne comprends pas le résultat obtenu... Plus précisément, je cherche à comprendre comment R a compris ce shmilblik et l'a calculé (plus précisément, j'essaie de "comprendre" comme je peux comment R réfléchi, je me dit que je vais en avoir besoin plus tard si j'ai besoin de déboguer quoi que ce soit)

    Aussi, si jamais l'un d'entre vous à la réponse à cette petite question, ça serait super.

    Bonne journée !

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Il faut essayer des variantes de ce code avec des parenthèses pour voir quelle est la priorité des opérations et mieux comprendre ce que fait R.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c(-2, 3, -1, 4)^1
    [1] -2  3 -1  4
    Là, aucune surprise, l'opérateur ^1 est bien appliqué à chaque élément du vecteur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c(-2, 3, -1, 4)^c(1,2)
    [1] -2  9 -1 16
    Là c'est déjà plus sioux, il alterne entre ^1 et ^2 sur les éléments du premier vecteur (^1 pour les éléments impairs et ^2 pour les éléments pairs). Sûrement un cas de cycling : le second vecteur est "allongé" pour avoir autant d'éléments que le premier et permettre des opérations élément par élément.
    D'ailleurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c(-2, 3, -1, 4)^c(1,2,3)
    [1] -2  9 -1  4
    nous vaut un Warning parce que la taille du 1er vecteur n'est pas un multiple de la taille du 2nd. R fait donc bien du cycling, un phénomène dont, à mon avis, il faut apprendre à se méfier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c(-2, 3, -1, 4)^(1:4)
    [1]  -2   9  -1 256
    On est toujours dans le élément par élément. Pas de surprise, mais le fait qu'il ait fallu des parenthèses nous met sur la piste : c'est un problème de priorité d'opérateurs.

    Dans le code que tu proposes, il faut donc lire : en termes de priorité. Comme le premier bloc renvoie un vecteur qui a pour première valeur -2, R finit par renvoyer comme résultat et le message Warning.
    Bon courage.
    Olivier

  3. #3
    Candidat au Club
    Femme Profil pro
    Data analyst
    Inscrit en
    Mai 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Data analyst

    Informations forums :
    Inscription : Mai 2020
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    ha mais c'était "tout bête" en fait comme problème, merci d'avoir pris le temps de répondre ! (j'apprends au passage que je peux mettre des extraits propres de code dans les commentaires que je laisse sans faire de copier coller pas propre du tout)
    (Et vous étiez venu nous faire une formation introduction à R dans mon ancien boulot il y a quelques mois, c'est marrant de vous retrouver par ici, je me suis fait un programme de formation à R et "mon étape d'après" consiste en récupérer votre bouquin pour apprendre à faire du traitement de données sous R... Il me restera ensuite à dégoter un bouquin ou à récupérer des docs sur internet pour faire de la modélisation stat. Enfin bref je m'égare)

    Bonne journée !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur non compris
    Par Imad_ing dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/07/2007, 16h20
  2. [D7] [oracle 9i] un message d'erreur non compris
    Par iam dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2007, 11h32
  3. Bug non compris
    Par Alec6 dans le forum Hibernate
    Réponses: 2
    Dernier message: 05/02/2007, 09h48
  4. Current (bug ou principe non compris ?)
    Par DelphiManiac dans le forum Access
    Réponses: 7
    Dernier message: 10/10/2006, 14h55
  5. [error] depassement de memoire non compris
    Par guns17 dans le forum Langage
    Réponses: 8
    Dernier message: 26/07/2006, 16h35

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