ecrire un fichier texte

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

herve chapuis
Messages : 115
Enregistré le : 05 Déc 2008, 15:26

ecrire un fichier texte

Messagepar herve chapuis » 27 Mar 2025, 10:25

Bonjour

J'appelle d'autres programmes depuis R avec la fonction system()
Ces programmes nécessitent des fichiers de paramètres.
J'ai déjà connu un épisode pénible où j'ai par mégarde écrasé un de ces fichiers et un peu galéré à le reconstituer.

Je voudrais l'écrire (dans le bon répertoire !) au lancement du programme R.

Mais ce n'est pas aussi simple qu'utiliser write.table(). Car ce n'est pas une table.
Voici deux exemples de fichiers que je voudrais pouvoir créer à loisir :

Code : Tout sélectionner

!N !L !WORKSPACE 2100 !ARGS 1
Variabilite taille de portee
animal !P
bande !I
ntot
std_ntot

NV.gen !SKIP 1 !MAKE !ALPHA
NV_DATA_STD.dat !SKIP 1 !AISINGULARITIES !FCON !typeIIIss !DDF !MAXIT 400 !EXTRA 4  !SLOW !CONTINUE !DOPATH $1

!PATH 1
 ntot std_ntot  ~ Trait,
                    Trait.bande,
                    !r nrm(animal).us(Trait !GPPP)
residual id(units).us(Trait !GPPP)
PREDICT Trait
PREDICT bande
!VPREDICT !DEFINE
F tot1  4 + 1
F tot2  6 + 3
H herit1 4 tot1
H herit2 6 tot2
R corG 4:6
R corR 1:3


J'ai un autre exemple de code mais je n'arrive pas à le coller... J'essaye sans la balise Code... sans plus de succès, peut-être car il contient les expressions grep ou awk ? le message est
Accès interdit!
Vous n'avez pas le droit d'accéder au répertoire demandé. Soit il n'y a pas de document index soit le répertoire est protégé...
Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le webmestre du site.
#403



Bref l'idée est d'écrire des lignes de texte, mais pas dans un format tabulaire avec un nombre de colonnes identiques
Comment vous-y prendriez-vous SVP ?
Merci.

Hervé
Ingénieur de recherche INRAE Toulouse

jean lobry
Messages : 746
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: ecrire un fichier texte

Messagepar jean lobry » 27 Mar 2025, 15:24

Bonjour Hervé,

j'utiliserais la fonction de base writeLines() tout simplement.

Bien amicalement,

Jean

P.-S. Si tu veux un exemple concret regarde page 21 de ce PDF

herve chapuis
Messages : 115
Enregistré le : 05 Déc 2008, 15:26

Re: ecrire un fichier texte

Messagepar herve chapuis » 31 Mar 2025, 11:26

Merci Jean

Mon souci est que je souhaite également écrire un document avec des instructions awk, qui utilisent à la fois des ' et des " pour délimiter des champs.

Je peine à voir comment faire comprendre à R quelle partie doit et ne doit pas être interprétée, afin qu'il ne considère pas la chaine terminée dès qu'il rencontre l'un ou l'autre ce ces signes.
Par exemple je souhaiterait qu'il soit capable d'écrire
AWK '{print $6," ",$7}' t_nrm1 >RESPARA

(j'ai mis ici awk en majuscules car sinon je ne parviens pas poster le message).
Peut-être existe-t-il un moyen (avec des backslashes ou autres) pour indiquer que le symbole fait partie d'une chaine et ne doit PAS être interprété ? Mais je ne sais pas comment faire. Alors si quelqu'un a la clé, je prends ! :)
Ingénieur de recherche INRAE Toulouse

herve chapuis
Messages : 115
Enregistré le : 05 Déc 2008, 15:26

Re: ecrire un fichier texte

Messagepar herve chapuis » 31 Mar 2025, 15:20

Bah finalement après différents essais erreurs j'ai demandé à une AI et maintenant ça fonctionne...
Ingénieur de recherche INRAE Toulouse

jean lobry
Messages : 746
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: ecrire un fichier texte

Messagepar jean lobry » 01 Avr 2025, 16:31

herve chapuis a écrit :Bah finalement après différents essais erreurs j'ai demandé à une AI et maintenant ça fonctionne...


Par AI tu veux dire un Assistant Ingénieur humain qui ne brûle pas trop de CO2 ?

Sinon, pour l'usage des barres inverses, c'est facile :

Code : Tout sélectionner

> library(fortunes)
> fortune("backslash")

When in doubt, keep adding slashes until it works.
   -- Joran Elias (on how to escape a backslash in R)
      Stackoverflow (March 2015)


Bien amicalement,

jean


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité

cron