J'ai un programme R dans un fichier txt, dites "functions.txt"
.
Je charge le fichier "functions.txt"
Le R en utilisant source("function.txt")
puis j'appelle les fonctions f1()
, f2()
etc. qui sont déclarées et défini dans le fichier "function.txt"
.
J'ai également besoin de charger quelques bibliothèques R en utilisant library()
avant de pouvoir utiliser f1()
, f2()
etc.
Ma question est: puis-je obtenir tout cela (c'est-à-dire appeler la fonction f1()
et f2()
) à partir de l'invite Windows sans ouvrir l'environnement R?
Donc, essentiellement, je veux
f1()
, f2()
etc.function.txt
tout à partir de l'invite de commande de windows c:\>
J'ai une version Windows de R installée sur mes ordinateurs.
.
Cordialement
Le message de Bart est correct, mais cela peut être fait plus simplement. Si le code
f1 <- function() {
print("A")
}
f2 <- function() {
print("B")
}
f1()
f2()
est dans un fichier 'myRcode.R'; ensuite
Rscript myRcode.R
va le charger et l'exécuter, y compris les deux appels de fonction.
Rscript.exe
se trouve dans le même répertoire que R.exe
- que l'on devra peut-être ajouter au $PATH
.
Ce qui suit "fonctionne sur ma machine" (pas Windows cependant, mais cela devrait ...):
Si votre functions.txt
ressemble à:
f1 <- function()
{
print("A")
}
f2 <- function()
{
print("B")
}
la commande:
Rscript -e "source('functions.txt');f1();f2()" > out.txt
devrait créer le fichier out.txt
contenant:
[1] "A"
[1] "B"
Voici un script de ligne de commande, basé sur le code ci-dessus:
d:\misc2\bin\Rscript.exe d:\r_code\mycode.r
En utilisant Windows 7, je l'ai exécuté en tant que fichier .bat. Fonctionne bien. Merci pour le conseil. (bien sûr, ce ne sont que mes sous-répertoires particuliers)