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 :

Creer une fonction dans Rstudio


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Analyst
    Inscrit en
    Juillet 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Analyst
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2016
    Messages : 1
    Par défaut Creer une fonction dans Rstudio
    Je veus écrire une fonction appelée 'polluantmean' qui calcule la moyenne d’un polluant (sulfate ou nitrate) sur une liste spécifiée de moniteurs. La fonction 'polluantmean' prend trois arguments : 'directory', 'pollutant', et 'id'. Avec un numéro d’identification du moniteur vectoriel, 'polluantmean' lit que surveille les données de particules du répertoire spécifié dans l’argument 'annuaire' et renvoie la moyenne du polluant sur tous les moniteurs, ignorant les valeurs manquantes codées comme NA. Un prototype de la fonction est comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Pollutantmean  <-  function(directotory,pollutant, id = 1:332){
    ##« ditrecyory » est un vecteur de caractères de longueur 1 indiquant l’emplacement des fichiers ##CSV
    ##« polluant » est un vecteur de caractères de la longueur 1 indiquant le nom du polluant pour ##lequel nous calculerons la moyenne, soit « sulfate » ou « nitrate ».
    ##« id » est un vecteur entier indiquant les numéros d’identification du moniteur à utiliser.
    ##Retourner la moyenne du polluant dans la liste de tous les moniteurs dans le vecteur « id » (sans ##tenir compte des valeurs NA)
    ##Remarque : Ne pas arrondir le résultat!
    }
    Le fichier zip contient 332 fichiers de valeurs séparées par des virgules (CSV) contenant des données de surveillance de la pollution atmosphérique pour les particules fines (PM) à 332 endroits aux États-Unis. Chaque fichier contient les données d’un seul moniteur et le numéro d’identification de chaque moniteur est contenu dans le nom du fichier. Par exemple, les données pour monitor 200 sont contenues dans le fichier "200.csv". Chaque fichier contient trois variables:

    Date : la date de l’observation en format AAAA-MM-JJ (année-mois-jour)
    sulfate : concentration de particules de sulfate dans l’air à cette date (mesurée en microgrammes par mètre cube)
    nitrate : concentration de particules de nitrate dans l’air à cette date (mesurée en microgrammes par mètre cube)

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    bonjour, une solution avec le package tidyverse , je n'ai pas respecté le prototype de ta fonction
    logiquement on obtient un dataframe avec 3 colonnes mean_sulfate,mean_nitrate, moniteur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    library(dplyr)
    library(purrr)
     
    liste_fichier=unzip("fichier.zip")
    ## map_df fonctionne comme une boucle for
    resultat <- map_df(1:length(liste_fichier),
           ~read.csv(liste_fichier[.x]) %>%  ## ouverture du fichier
     summarise(mean_sulfate =mean(sulfate, na.rm = T),mean_nitrate = mean(nitrate, na.rm = T)) %>% ## calcul des moyennes
             mutate(monitor = .x)  ) ## ajout colonne monitor

Discussions similaires

  1. [PHP 5.0] Creer une fonction qui retourne une variable dans le script
    Par keaton7 dans le forum Langage
    Réponses: 8
    Dernier message: 10/02/2009, 14h09
  2. Réponses: 8
    Dernier message: 30/08/2006, 10h08
  3. Programmation d'une fonction dans Rn
    Par simone.51 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 12/11/2004, 11h30
  4. Creer une boucle dans une requête ???
    Par fdloisel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/10/2004, 14h05
  5. [langage] Creer une fonction qui met en majuscule ?
    Par Cyber@l dans le forum Langage
    Réponses: 6
    Dernier message: 04/12/2003, 18h44

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