Lancer R avec des arguments

Fermé
hymenoptera Messages postés 36 Date d'inscription mercredi 24 août 2016 Statut Membre Dernière intervention 18 décembre 2018 - 6 août 2018 à 14:38
hymenoptera Messages postés 36 Date d'inscription mercredi 24 août 2016 Statut Membre Dernière intervention 18 décembre 2018 - 6 août 2018 à 16:42
Bonjour,

Je dois coder un programme en C qui lance des scripts R, je n'ai aucun souci avec la programmation en C. Par contre la logique de R m'échappe complètement et je ne trouve pas ce que je veux sur le net.

En fait il y a un script R (Prog.R) qui prend en paramètre un path et le stock dans une variable :

adress <- commandArgs(trailingOnly=TRUE)


cette adresse est très importante pour faire des sauvegardes dans différents dossiers...

Le souci c'est que je ne sais pas comment passer un paramètre à un script R. En cherchant j'ai trouvé quelques commandes qui ne marchent pas du tout... ex :

/usr/bin/R CMD BATCH  Prog.R --arg /home/mon_path


cette commande me crée un fichier output --arg u_u"

si j'essaie :
/usr/bin/R CMD BATCH Prog.R /home/mon_path


j'ai l'erreur :
/usr/lib/R/bin/BATCH: 60: /usr/lib/R/bin/BATCH: cannot create /home/mon_path/ : Is a directory

j'ai constaté alors que ce qui vient après le script c'est le nom de l'output, j'ai donc mis :

/usr/bin/R CMD BATCH prog.R prog.Rout /home/mon_path


Quand j'ouvre prog.R j'ai l'erreur suivante :
Error in setwd(dir = adress) :
impossible de changer de répertoire de travail
Exécution arrêtée


Pire encore... quand j'inverse (on sait jamais !) de la manière suivante :

/usr/bin/R CMD BATCH /home/mon_path prog.R


le script Prog.rout est effacé ... :(

Je veux bien afficher la valeur de "adress" mais dans le .rout c'est le code qui est copié...

Vous l'avez bien compris je suis archi nulle en R...et je ne trouve pas les bons mots pour faire une bonne recherche...

si une âme charitable passe par ici j'aurai grandement besoin de son aide !

Merci bien :)


P.S.: je suis sous Linux, je veux bien que le lancement se fasse sous windows également... alors là je sens que je vais détruire mon ordi après...

1 réponse

jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 4 690
6 août 2018 à 15:15
Bonjour,

Je ne fais pas de R .... mais ça ne serait pas args (avec un s ) ?
Un truc du genre

/usr/bin/R CMD BATCH prog.R --args /home/mon_path


Voici un peu de doc que j'ai trouvé à l'instant :
http://wresch.github.io/2013/06/20/commandline-args-in-R.html

0
hymenoptera Messages postés 36 Date d'inscription mercredi 24 août 2016 Statut Membre Dernière intervention 18 décembre 2018 1
6 août 2018 à 16:42
Je viens d'essayer, ça fait pareil que --arg .... :(
Merci pour la réponse
0