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 :

Sélection lignes impaires sous R


Sujet :

R

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Sélection lignes impaires sous R
    Bonjour,
    j'ai une importante base de données de débits, acquis à des pas de temps relativements courts (6minutes). Je voudrais sélectionner les données saisies toutes les 12minutes donc sélectionner une ligne sur deux, d'où ma question, comment sélectionner les lignes impaires pour ensuite faire la moyenne de leurs valeurs?
    En admettant que ma BDD s'appelle "courant" et la colonne des valeurs de débits "debit".
    Si vous avez une solution pour sélectionner une ligne sur deux ce serait même encore mieux car par la suite je devrai sélectionner des pas de temps plus important et donc des lignes de plus en plus espacées (1 valeur toutes les 10 lignes pour un pas de temps horaire par exemple).
    Merci d'avance

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Je suppose que "courant" est un data frame...
    Du coup, pour sélectionner toutes les lignes impaires, il suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    courant[seq(1, nrow(courant), 2),]
    Si vous voulez augmenter le pas de temps, il suffit de remplacer le 2 (12 minutes) par 3 (18 minutes), 4 (24 minutes), 5 (30 minutes), etc.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre du Club
    Homme Profil pro
    Helsinki
    Inscrit en
    Avril 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Finlande

    Informations professionnelles :
    Activité : Helsinki
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2012
    Messages : 39
    Points : 64
    Points
    64
    Par défaut Et pour finir, le calcul de la moyenne
    Bonjour,
    Ced propose un moyen de sélectionner une ligne sur deux. Pour compléter la question de Polo39, il faut à présent faire un calcul de moyenne sur les lignes sélectionnées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #une ligne sur 2 est sélectionnée
    Lignes_impaires <- courant[seq(1, nrow(courant), 2),] 
    #Calcul de la moyenne
    apply(Lignes_impaires, 1, mean)

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup, vous avez résolu un problème qui me causait beaucoup de... problèmes !

  5. #5
    Membre du Club
    Homme Profil pro
    Helsinki
    Inscrit en
    Avril 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Finlande

    Informations professionnelles :
    Activité : Helsinki
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2012
    Messages : 39
    Points : 64
    Points
    64
    Par défaut Tu peux cliquer sur résolu
    Heureux que la question soit résolue. Tu peux cliquer à présent sur résolu.
    Merci

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Oui simplement j'aurais voulu savoir comment comparer les valeurs obtenues, je m'explique.
    Avec le pas-de-temps initial je fais un tableau avec toutes mes valeurs qui me donnent des valeurs moyennes par jour, grâce à la fonction "levels" dans la colonne date.
    Je refais le même travail avec un pas-de-temps plus élevé.
    J'ai donc deux tableaux "pasdetemps1" et "pasdetemps2" contenant chacun une colonne "MJ" (Moyenne Journalière). Avec le même nombre de valeurs dans chaque colonne puisque le même nombre de jours mais simplement avec moins de données pour calculer les moyennes pour les pas-de-temps plus grands.
    Donc là je voudrais savoir si il y a une différence significative entre les valeurs MJ de pasdetemps1 et celles de MJ de pasdetemps2.

    Comme elles sont appariées je pensais faire un t.test:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t.test(pasdetemps1[,4]~pasdetemps2[,4], var.equal=TRUE) #avec MJ en 4e colonne du tableau
    Mais visiblement je m'y prends mal puisque ça ne fonctionne pas.

    Merci d'avance

Discussions similaires

  1. Sélection ligne sous formulaire
    Par yieiii dans le forum IHM
    Réponses: 6
    Dernier message: 03/09/2010, 14h48
  2. Réponses: 3
    Dernier message: 16/06/2006, 16h17
  3. [VB.NET] Datagrid sélection ligne
    Par cosmos38240 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/02/2006, 11h10
  4. ligne blanche sous une image dans un tableau
    Par spikelille dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 10/09/2005, 18h24
  5. Req mise a jour de ligne en ligne ds sous form
    Par martonpylon12 dans le forum IHM
    Réponses: 4
    Dernier message: 20/06/2005, 19h00

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