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 :

boucle logiciel R


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Par défaut boucle logiciel R
    Bonjour,

    Je suis novice en R et il y a 6 mois j'ai fais du clustering mais pas de boucle.

    J'ai réussi à faire une régression sur toute ma base de données sur R et je souhaite faire une boucle qui ferait des centaines de régressions en utilisant la même base de données de 2000 à 2005, mais en décalé de semaines: premiere régression seulement du 01/01/2003 au 01/01/2005 donc de la ligne... à la ligne ... , deuxième régression du 15/01/2003 au 15/01/2005 donc de la ligne... a la ligne...

    Voila ce que jai programmé : c'est une boucle qui lit toute ma base de donnée mais qui n'affiche à la fin que le dernier résultat. Je pense qu'il faut que je crée une autre boucle ? Pour info, ma base de données s'appelle Q.
    Et je voulais appeler l'élément qui contient mon jeu de données mais je pense que A doit avoir des indices exemple : A(1) = mon jeu de donnée de la ligne... à la ligne ... donc première régression, A(2) = mon jeu de données de la ligne ... à la ligne ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     for(j in 2:338) { A= Q[j:j+261,] }
    Et voilà la régression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    reg=lm(LECPOAS ~ V2X + liq, data =Q)	
    summary(reg)
    Qu'en pensez-vous?

    Merci d'avance.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Analyste
    Inscrit en
    Février 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste

    Informations forums :
    Inscription : Février 2012
    Messages : 62
    Par défaut
    Bonjour,

    Pour A, effectivement la boucle ne renvoie qu'un seul résultat, le dernier car A est de même nature que Q dont il est une sous-partie et non pas une liste.
    Si tu veux stocker chaque échantillon dans le même objet A, il faut le déclarer en liste puis le remplir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    A <- list()
    indice <- 1
     
    for(j in 2:338) { 
    <div style="margin-left:40px">A[[indice]]= Q[j:j+261,]</div><div style="margin-left:40px">indice <- indice+1</div>}
    À partir de là tu peux faire appel à l'élément de A de ton choix pour y appliquer ta régression (en remplacant data=Q par data=A[[indice]].
    Effectivement une boucle peut faire l'affaire, mais étant donné que tu travailles à partir d'une liste tu peux aussi utiliser lapply.

    En espérant ne pas être à côté de la plaque, bon courage et bonne analyse

Discussions similaires

  1. Quel logiciel (EDI) pour débuter en programmation ?
    Par mimosa69 dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 17/01/2016, 16h45
  2. Logiciel et Progiciel
    Par Toine dans le forum Autres Logiciels
    Réponses: 10
    Dernier message: 10/04/2012, 13h28
  3. logiciel de programmation en Algorithmique
    Par Thomas Lebrun dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 08/11/2002, 22h18
  4. Réponses: 2
    Dernier message: 29/05/2002, 20h43
  5. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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