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 :

RScript, batch et e accent aigü


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Par défaut RScript, batch et e accent aigü
    Bonjour,

    j'ai un script R qui fait appel à des fonctions que j'ai écrites dans un fichier séparé.

    Ce script affiche l'état d'avancement des opérations grâce à des cat.

    Dans le script principal appelé main.R, les accents s'affichent bien. Par exemple, quand on écrit la ligne suivante en Unicode pour "définition des variables" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat("d\U00E9sfinition des variables")
    On obtient bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    définition des variables
    Par contre, dans main.R, j'ai une ligne
    Si j'écris la même chose dans le fichier functions.R, j'ai un problème d'accents:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dÚfinition des variables
    Il est possible que main.R et functions.R n'aient pas le même encodage.
    Etant donné que main.R affiche bien les accents, j'aimerais connaître l'encodage du fichier, mais comment le trouver sachant que j'utilise RStudio ?

    Bref, je ne sais d'où ça vient..

    En vous remerciant par avance de vos réponses,

    Mathieu

  2. #2
    Membre expérimenté
    Homme Profil pro
    Bioinformaticien
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Par défaut
    Bonjour,
    il y a quelques mois, vous aviez posé la même question, désolé de vous refaire la même chose : qu'indique les sorties de l'instruction suivante ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Par défaut
    Bonjour,

    Tout d'abord, je vous prie de m'excuser. Je dois perdre un peu la mémoire, n'ayant pas eu le souvenir d'avoir posté ce sujet il y a quelques mois

    Je viens d'avancer dans mon problème mais ne suis pas parvenu malgré tout à le résoudre.

    Voici ce que donne sessionInfo()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    > sessionInfo()$locale
    [1] "LC_COLLATE=French_France.1252;LC_CTYPE=French_France.1252;LC_MONETARY=French_France.1252;LC_NUMERIC=C;LC_TIME=French_France.1252"
    En fait, j'ai remarqué que le chargement de certains paquets provoquait ce problème d'encodage. C'est le cas d'un paquet appelé RStoolbox et d'igraph

    Si, dans mon main.R, j'écris les lignes ci-dessous et si je les exécute via Rscript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cat("first \U00E9 \n")
    cat("--before--\n")
    cat(paste("encoding = ", getOption("encoding"), "\n"))
    cat(paste("locale = ", Sys.getlocale(), "\n"))
    require("RStoolbox")
    cat("\n")
    cat("--after--\n")
    cat(paste("encoding = ", getOption("encoding"),"\n"))
    cat(paste("locale = ", Sys.getlocale(), "\n"))
    cat(" second \U00E9")
    J'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    first é
    --before--
    encoding =  native.enc
    locale =  LC_COLLATE=French_France.1252;LC_CTYPE=French_France.1252;LC_MONETARY=
    French_France.1252;LC_NUMERIC=C;LC_TIME=French_France.1252
    Le chargement a nécessité le package : RStoolbox
    Message d'avis :
    le package 'RStoolbox' a ÚtÚ compilÚ avec la version R 3.1.3
     
    --after--
    encoding =  native.enc
    locale =  LC_COLLATE=French_France.1252;LC_CTYPE=French_France.1252;LC_MONETARY=
    French_France.1252;LC_NUMERIC=C;LC_TIME=French_France.1252
     second Ú
    A noter que si j'exécute tout ça sans Rscript, il n'y a pas d'erreur.

    Ce qui est perturbant, c'est que rien ne change niveau encodage, comme les instructions cat() le démontrent. Par contre, le caractère n'est plus reconnu à la fin. Quelque chose change, mais je ne sais quoi..

  4. #4
    Membre expérimenté
    Homme Profil pro
    Bioinformaticien
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Par défaut
    Je n'ai pas assez d'éléments pour donner une réponse satisfaisante ; je vais donc vous redemander d'autres sorties, celles de ces instructions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    sessionInfo()
     
    Sys.getlocale("LC_MESSAGES")
     
    cat("--before--\n")
    cat(paste0("encoding = ", getOption("encoding"), "\n"), sep = "")
    cat(paste0("locale = ", Sys.getlocale(), "\n"), sep = "")
    l10n_info()
    cat("first \U00E9 \n")
    require("RStoolbox")
    cat("\n")
    cat("--after--\n")
    cat(paste0("encoding = ", getOption("encoding"),"\n"), sep = "")
    cat(paste0("locale = ", Sys.getlocale(), "\n"), sep = "")
    l10n_info()
    cat(" second \U00E9")
    P.S. Peut-être que je me méprends, il me semble toujours que ce message était le vôtre. Mais qu'à cela ne tienne, essayons de résoudre(message modifié ici) corriger l'erreur cette fois-ci.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Par défaut
    Bonjour,

    je vous prie de m'excuse de répondre aussi tardivement

    J'ai donc mis le code dans un fichier appelé test_accent.R

    Puis j'ai lancé la commande : en effet, le problème n'apparaît que lors de l'exécution du code en mode batch et non depuis RStudio

    Voici ce que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    rscript test_accent.R
    --before--
    encoding = native.enc
    locale = LC_COLLATE=French_France.1252;LC_CTYPE=French_France.1252;LC_MONETARY=F
    rench_France.1252;LC_NUMERIC=C;LC_TIME=French_France.1252
    $MBCS
    [1] FALSE
     
    $`UTF-8`
    [1] FALSE
     
    $`Latin-1`
    [1] TRUE
     
    $codepage
    [1] 1252
     
    first é
    Le chargement a nécessité le package : RStoolbox
    Message d'avis :
    le package 'RStoolbox' a ÚtÚ compilÚ avec la version R 3.1.3
     
    --after--
    encoding = native.enc
    locale = LC_COLLATE=French_France.1252;LC_CTYPE=French_France.1252;LC_MONETARY=F
    rench_France.1252;LC_NUMERIC=C;LC_TIME=French_France.1252
    $MBCS
    [1] FALSE
     
    $`UTF-8`
    [1] FALSE
    $`Latin-1`
    [1] TRUE

    $codepage
    [1] 1252

  6. #6
    Membre expérimenté
    Homme Profil pro
    Bioinformaticien
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Par défaut
    Bonjour,
    Il y a maintenant des indications assez précises que les paramètres régionaux du système d'exploitation (ou de l'interpréteur des commandes) diffèrent de ceux de R. C'est d'ailleurs la piste qui était donnée dans la première réponse à l'ancienne discussion.
    Comme vous aviez lancé un script, toutes les sorties attendues n'ont pas été générées, il fallait ajouter explicitement des instructions d'affichage. Allons-y alors pour un autre tour : pouvez-vous relancer Rscript test_accent.R et donner les sorties, test_accent.R contenant le code ci-bas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    cat("\n--before--\n\n")
    cat("LC_MESSAGES:\n", Sys.getlocale("LC_MESSAGES"), "\n\n", sep = "")
    cat("encoding:\n", getOption("encoding"), "\n\n", sep = "")
    cat("locale:\n", Sys.getlocale(), "\n\nl10n_info:\n", sep = "")
    str(l10n_info())
    cat("\n\nà â ï î é è ô ü ç\n\n")
    str(sessionInfo())
     
    require("RStoolbox")
     
     
    cat("\n\n\n--after--\n\n")
    cat("LC_MESSAGES:\n", Sys.getlocale("LC_MESSAGES"), "\n\n", sep = "")
    cat("encoding:\n", getOption("encoding"), "\n\n", sep = "")
    cat("locale:\n", Sys.getlocale(), "\n\nl10n_info:\n", sep = "")
    str(l10n_info())
    cat("\n\nà â ï î é è ô ü ç\n\n")
    str(sessionInfo())
    P.S. Les sorties seront un peu abondantes, les laisser en l'état, il n'y a pas de souci.
    P.P.S. Pas de souci pour le temps que ça vous prend pour répondre, il n'y a pas d'urgence me concernant.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/03/2010, 15h36
  2. [batch] Utiliser les accents
    Par NorocBzh dans le forum Scripts/Batch
    Réponses: 11
    Dernier message: 13/02/2009, 15h47
  3. [batch] problème d'accents
    Par Choupinou dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 02/10/2008, 17h11
  4. [BATCH] : XCOPY sur un répertoire contenant un accent ?
    Par ADONET dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 24/02/2006, 12h57
  5. Batch et répertoire avec accent
    Par krfa1 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 28/10/2005, 10h31

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