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 :

boucle sur vecteur


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Financier
    Inscrit en
    juillet 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Financier

    Informations forums :
    Inscription : juillet 2019
    Messages : 33
    Points : 15
    Points
    15
    Par défaut boucle sur vecteur
    Bonjour tout le monde,

    je viens vous voir car j'aimerais réaliser une boucle for sur un vecteur , je m'explique
    - voila mon vecteur : vec<-c(3,6,5)
    j'aimerais faire une boucle permettant de réaliser les actions suivantes : 3- 6 , puis 6-5 , etc
    soustraire la valeur i par la valeur i + 1

    j'ai tenté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    vec<-c(3,6,5)
     
    rep<-function(x) for(i in length(vec)) return(c[x]-c[x+1])
    mais ca ne fonctionne pas ..
    par avance merci !

  2. #2
    Membre confirmé
    Inscrit en
    février 2011
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 252
    Points : 525
    Points
    525
    Par défaut
    Bonjour,

    ce genre de choses peut se faire en une fois dans R sans passer par des boucles qui seraient très gourmandes en temps.
    On dit qu'on vectorise les calculs.
    Ici il suffit juste de récupérer les valeurs - la dernière et de soustraire à ce vecteur de données toutes les valeurs sauf la première : vec[-length(vec)]-vec[-1]cdlt

  3. #3
    Membre à l'essai
    Homme Profil pro
    Financier
    Inscrit en
    juillet 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Financier

    Informations forums :
    Inscription : juillet 2019
    Messages : 33
    Points : 15
    Points
    15
    Par défaut
    la consigne de l'exercice en cours était de le faire avec une boucle (sachant que c'est plus long sur R) , pourrais tu m'aider ?

    faire une fonction avec boucle permettant l'instruction (x,y,z) => donne y-x , z-y , etc ...

  4. #4
    Membre confirmé
    Inscrit en
    février 2011
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 252
    Points : 525
    Points
    525
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    res <- numeric(length(vec)-1)
    for (i in 1:length(res)) res[i] <- vec[i]-vec[i+1]
    cdlt

  5. #5
    Membre à l'essai
    Homme Profil pro
    Financier
    Inscrit en
    juillet 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Financier

    Informations forums :
    Inscription : juillet 2019
    Messages : 33
    Points : 15
    Points
    15
    Par défaut
    merci beaucoup ca fonctionne, j'ai une dernière question que je me permets de te poser ici du coup.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sample<-c(1:length(d$argent))
    for(i in 1:length(d$argent)){if(d$argent[1:20]){sample[i]=mean(d$argent[1:20])}}
    j'ai une base de données, j'aimerais que le 1er élément de sample soit la moyenne des elements de la 1 ere à 20ème valeur de d$argent , puis la 2ème valeur par exemple soit la moyenne des elements de d$argent pour les valeurs de 21 à 30
    J'ai testé mon code pour 1 a 20 il me renvoit "they were 50 or more warnings (use warnings() to see the first 50)"

    merci encore

Discussions similaires

  1. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 13h45
  2. Macro sur Excel/Boucle sur les lettres
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/11/2005, 12h56
  3. [JDBC]Boucle sur tous les éléments du ResultSet
    Par Terminator dans le forum JDBC
    Réponses: 1
    Dernier message: 22/09/2005, 20h30
  4. L'installation d'XP boucle sur elle-même
    Par pf106 dans le forum Windows XP
    Réponses: 13
    Dernier message: 20/08/2005, 15h55
  5. [MFC] Boucle sur un bouton
    Par karl3i dans le forum MFC
    Réponses: 6
    Dernier message: 17/02/2004, 12h37

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