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 :

Ajout d'une colonne à un tableau pour calcul de moyenne


Sujet :

R

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 69
    Points : 38
    Points
    38
    Par défaut Ajout d'une colonne à un tableau pour calcul de moyenne
    Bonjour,
    Je dispose d'un jeu de données de température (tableau d'une colonne et d'autant de lignes que de valeurs de température) et souhaiterais ajouter une colonne à mon tableau pour calculer une moyenne toutes les 5 valeurs afin de diminuer le taux d'échantillonnage.
    J'obtiendrai donc au final un tableau de 2 colonnes, avec dans la 1ère une valeur toutes les lignes et dans la seconde une valeur toutes les 5 lignes.

    Comment puis-je automatiser tout ça avec R? Dois-je passer par une matrice?

    Merci pour votre aide et voici le fichier en pièce jointe.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    essai <-read.table("Essai.txt", header=TRUE)
    essai$temp.sorted <- sort(essai$T_Canopee)
    essai$groupe <- rep(1:ceiling(nrow(essai) / 5), each=5, length.out=nrow(essai))
    essai$reduction <- ave(essai$temp.sorted, essai$groupe)
    Sinon, ça va être dur de mettre côte à côte dans un data.frame deux colonnes ayant des longueurs différentes. Vous pouvez utiliser des listes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    resultat <- list(temp=essai$temp.sorted,
                     reduction=tapply(essai$temp.sorted, 
                                      essai$groupe, 
                                      mean))
    HTH

    Vincent

  3. #3
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 94
    Points : 147
    Points
    147
    Par défaut
    Apres avoir fait un read.table sur ton fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    essai$Mean_5=NA
    for(i in 1:nrow(essai)){
    	if(i%%5==0){
    		m = mean(essai$T_Canopee[((i-5)+1):i])
    		essai$Mean_5[((i-5)+1):i]=m
    	}
     
    }

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    vchouraki --> Je ne peux pas modifier l'ordre de mes données. Les ranger par ordre croissant n'a pas de sens dans mon cas puisqu'il s'agit de valeurs de température acquises dans le temps, dans un ordre précis. Je ne peux donc pas faire de moyenne en prenant une valeur acquise le matin et une autre le soir.

    tomaprice --> Ca marche nickel, très malin le %%. une petite modif et c'est tout à fait ce que je cherchais. Merci bien!!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/11/2013, 14h23
  2. Réponses: 3
    Dernier message: 05/03/2012, 16h51
  3. DataTable - Ajout d'une colonne calculée
    Par Ouggada dans le forum Windows Forms
    Réponses: 14
    Dernier message: 24/02/2009, 16h09
  4. Réponses: 4
    Dernier message: 01/05/2008, 21h12
  5. DataTable - Ajout d'une colonne calculée
    Par dequi dans le forum JSF
    Réponses: 5
    Dernier message: 11/07/2007, 15h59

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