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 :

Question sur la normalisation sur R


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut Question sur la normalisation sur R
    Bonjour,

    Je suis nouvelle sur ce forum (je ne sais pas si je poste au bon endroit ^^) et débutante sur R...
    J'ai deux colonnes avec des variables quantitatives (pop-dens et GS), la première varie de 0 à 283.8 hab/ha et la deuxième entre 0 et 612 ha. Je veux standardiser et normaliser chaque colonne de 0 à 10 (0 à 8).
    J'ai beaucoup cherché et je me suis un peu perdue.

    Quelqu'un peut me dire comment je peux normaliser mes données?
    Votre aide est très précieuse, merci
    Wissal

  2. #2
    Nouveau membre du Club Avatar de cdv04
    Femme Profil pro
    Ingénieure en biostatistique
    Inscrit en
    Juin 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieure en biostatistique

    Informations forums :
    Inscription : Juin 2017
    Messages : 8
    Par défaut
    Bonjour,

    Peut être avec la fonction rescale du package scales (ça permet d'obtenir des données entre 0, et 1, reste à multiplier par 10).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    library(scales)
    var_sc <- rescale(var) * 10
    Cordialement

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    Bonjour cdv04,

    Merci pour la réponse, est-ce que vous connaissez la formule mathématique de la fonction rescale?

    Sinon, je veux que la valeur minimale soit 1 et avec cette fonction j'aurai toujours une valeur min de 0 si ma colonne en contient. Est-ce qu'il y a un autre moyen pour le faire? Merci d'avance.
    Cordialement,
    Wissal

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    Sinon, j'ai trouvé une autre manière d'utiliser la fonction rescale et je pense que ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rescale(data_1 to = c(1, 10), from = range(data_1, na.rm = TRUE, finite = TRUE))
    Qu'est-ce que vous en pensez? Merci!

    Cordialement,
    Wissal

  5. #5
    Membre chevronné
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Par défaut
    Bonjour,

    Attention aussi à la transformation opérerer sur la distribution des données. Si tu ne veux pas modifier la forme de ta distribution mais juste changer l'échelle des valeurs de ta variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # un série de données au hasard
    x <- summary(rlnorm(100, 1, 2))
    x1 <- (x-min(x))/(max(x)-min(x))*9+1
    cdlt

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Janvier 2012
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 325
    Par défaut
    Si le but est juste de forcer les valeurs entre 0 et 10, je n'installerait pas un package juste pour ça. On peut facilement créer une fonction qui fait ce dont tu a besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    normalize = function(x, minVal, maxVal){minVal + maxVal*(x-min(x))/(max(x)-min(x))}

    Installer un package ça rajoute une dépendance, et puis quand on voit que le package rescale a lui même 8 dépendances. Chaque dépendance augmente les chances que le script ne fonctionne plus dans les prochaines versions de R (package pas mis à jour etc.).

    EDIT: j'aurais du raffraichir la page avant de poster, ce vil tototode m'est passé devant

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    Merci tototode et Theda, vous avez raison, j'ai comparé les résultats de la fonction rescale avec ceux de la formule (min max) et c'est presque la même chose.

    Le but de la normalisation est de donner un même ordre de grandeur à différentes variables pour pouvoir les cartographier sur une même échelle. Je pense que je ne dois pas changer la distribution de mes données, non?

    Bien à vous,
    Wissal

Discussions similaires

  1. [XL-2016] Difficultés sur: multipage activeX sur feuille + setfocus sur textbox avec touche enter
    Par PlastiBE dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 28/06/2017, 14h14
  2. Question d'ordre général sur les macros sur excel
    Par tzehani dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 29/08/2007, 05h16
  3. Réponses: 11
    Dernier message: 06/03/2007, 19h18
  4. Réponses: 3
    Dernier message: 16/02/2007, 12h35
  5. question (peut-être idiote) sur les vues
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/03/2003, 10h35

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