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 :

Production de documents avec R et Latex (Question complémentaire)


Sujet :

R

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 88
    Par défaut Production de documents avec R et Latex (Question complémentaire)
    Bonjour,

    J'arrive à faire des doc Latex à partir de R.
    Attention avec mac pour les accents il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \usepackage[applemac]{inputenc}
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \usepackage[latin1]{inputenc}   %Avec PC
    Mais j'ai un petit problème voici un exemple de code qui marche tres bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    \documentclass[a4paper]{article}
    \usepackage[applemac]{inputenc} %Avec Mac
    %\usepackage[latin1]{inputenc}   %Avec PC
    \begin{document}
    Essayons de calculer 2 + 2 :
    <<essai2plus2>>=
    2 + 2
    @
    \end{document}
    Sauvé sous le nom de mini2.Rnw dans le répertoire ~/R

    Quant j'exécute la commande
    J'ai le fichier mini2.tex dans le répertoire ~/
    ~/mini2.tex
    Comment faire pour créer le fichier mini2.tex dans un autre répertoire ?

    Cdt

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 100
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \usepackage[utf8]{inputenc}
    fonctionne aussi très bien sur un mac

    Pour répondre à ta question suivante, le fichier .tex se met dans le répertoire de travail (getwd() / setwd()) de R, d'ou ~/ par défaut

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 88
    Par défaut
    Oui en effet le fichier mini2.tex va dans le répertoire ~/
    mais j'aimerai le mettre automatiquement dans un autre, il y a t il moyen de faire ça ?

    Cdt

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 100
    Par défaut
    Il faut changer le répertoire de travail de R.

    ?setwd

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 88
    Par défaut
    En écrivant le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    setwd("~/R/figure")
     
    \documentclass[a4paper]{article}
    \usepackage[latin1]{inputenc}
    \begin{document}
     
    Essayons de calculer 2 + 2 :
     
    <<essai2plus2>>=
    2 + 2
    @
    \end{document}
    j'ai un fichier .tex mais dans le répertoire ~/ et non dans le répertoire ~/R/figure

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 100
    Par défaut
    Si le code est executé depuis R, il faut changer le répertoire de travail DANS R et non DANS LE DOCUMENT.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 88
    Par défaut
    J'ai effectivement un changement,
    en écrivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    > setwd("~/R/figure")
    > Sweave("R/mini2.Rnw")
    j'ai l'erreur suivante:
    Writing to file mini2.tex
    Processing code chunks ...
    Erreur dans SweaveReadFile(file, syntax) :
    un fichier Sweave de nom 'R/mini2.Rnw' est introuvable
    De plus : Warning message:
    In list.files(df, full.names = TRUE, pattern = paste(bf, syntax$extension, :
    list.files : 'R' n'est pas un répertoire lisible
    mais dans le répertoire
    j'ai un fichier mini2.tex mais il est vide

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 100
    Par défaut
    En fait, je pense que R cherche le fichier Sweave dans /R/figure

    il faut que tu te mettes dans /R/

    et dans ton fichier Sweave, tu met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \SweaveOpts{prefix.string=figures/}
    Ce qui aura pour but de mettre les figures dans le dossier /figures/ de /R/, qu'il faut créer avant

    Tout ça est dans la doc…

  9. #9
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Bonjour,
    Citation Envoyé par Hydro999 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    > setwd("~/R/figure")
    > Sweave("R/mini2.Rnw")
    ...
    mais dans le répertoire
    j'ai un fichier mini2.tex mais il est vide
    Évidemment, tu te places dans le répertoire ~/R/figure et tu lance Sweave avec un chemin relatif faux (et Sweave ne trouve donc pas mini2.Rnw).
    Il aurait fallu faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    > setwd("~/R/figure")
    > Sweave("../mini2.Rnw")   # relatif
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    > setwd("~/R/figure")
    > Sweave("~/R/mini2.Rnw")   # absolu
    Mais uniquement si tu souhaites que mini2.tex soit également dans le répertoire figure. Sinon, si tu souhaites juste que les images crées soient dans un sous répertoire par rapport à mini2.tex, alors fait comme TimoP te conseille avec les options.

  10. #10
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 88
    Par défaut
    C'est magique ça marche.

    Merci pour ces trés précieuses indications

    Cdt

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/11/2009, 21h43
  2. Réponses: 1
    Dernier message: 29/10/2009, 19h56
  3. Production de documents avec R et Latex
    Par Hydro999 dans le forum R
    Réponses: 8
    Dernier message: 18/10/2009, 20h15
  4. Méthodologie de rédaction de document avec Latex
    Par kromartien dans le forum Mise en forme
    Réponses: 6
    Dernier message: 28/09/2007, 23h30
  5. Mon premier document avec Latex
    Par noussaENSI dans le forum Erreurs - Avertissements
    Réponses: 2
    Dernier message: 29/07/2006, 13h56

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