2010-08-24 20 views
2

Je n'arrive pas à trouver de documentation claire sur la configuration d'un fichier batch pour un document Sweave sous Windows XP.Windows lot R Erreur de suppression des packages de chargement

J'utilise les fichiers de traitement par lots qui se trouvent here

J'ai créé un nom de fichier batch run.bat qui contient les éléments suivants:

Sweave myFile.Rnw 

La première chose que je fais dans mon dossier Sweave après avoir réglé le wd est lu dans un ensemble de données en utilisant le package RODBC:

library(RODBC) 
fetch <- odbcConnect("myDatabase") 
myData <- "select * from myTable" 
x <- sqlQuery(fetch, myData) 
odbcCloseAll() 

Quand je lance mon fichier batch, je recei ai l'erreur suivante:

Error: chunk 2 
Error in library(RODBC) : there is no package called RODBC 
In addition: Warning message: 
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : 
    there is no package called 'xtable' 

Il est évident que ces paquets existent et sont fonctionnels, mais quelque chose ne va pas dans les autorisations ou il ne trouve pas les bons répertoires. Des pensées?

question connexe here

Répondre

1

J'ai trouvé une solution immédiate à mon problème, mais comprenez qu'il y a certaines limites à cette méthode. Je cessé d'utiliser le CRAN a fourni des fichiers .bat pour trouver dynamiquement le chemin approprié à la R et codait le chemin de R en tant que tel:

"C:\Program Files\R\R-2.11.0\bin\Rterm.exe" --vanilla <%run.r>%run.r 
del *.log 
del *.aux 

Ce fichier .bat se déclenche en R, exécutez le script run.r qui contient deux commandes:

Sweave("myFile.Rnw") 
tools::texi2dvi("myFile.tex", pdf=TRUE) 

et nettoie ensuite les .log et intermédiaires .aux fichiers de la sortie LaTeX. Évidemment, la majeure partie du travail est faite en myFile.Rnw mais cela me permettra au moins de cliquer sur un bouton, d'effectuer mon analyse et de générer le fichier PDF.

Si quelqu'un peut penser à un moyen de rendre cela plus efficace, je l'apprécierais.

1

Qu'est-ce que ce retour lorsque vous tapez dans R (dans l'interface graphique)?

.libPaths() 

Que montre-t-il lorsque vous exécutez dans le fichier Rnw?

La documentation dans help(Startup) aura plusieurs suggestions quant à l'endroit où vous pouvez définir R_LIBS et ses variantes.

+0

'.libPaths()' retourne '" C:/Program Files/R/R-2.11.0/library "' lors de l'exécution à partir de l'interface graphique en utilisant Eclipse. En cours d'exécution directement à partir de la console R GUI, elle renvoie '" C: /PROGRA~1/R/R-211~1.0/library "'. Vérification de la page d'aide pour «Startup» maintenant ... – Chase

+0

Ce serait le même, mais imprimé différemment. Avez-vous réellement installé le paquet RODBC? –

+0

Eh bien, oui et non. 'RODBC' est installé dans la version de R que j'utilise avec eclipse ou directement avec l'interface graphique R. Je suis capable d'exécuter le script sans aucun problème de l'un ou l'autre. Cependant, j'ai remarqué que l'invite DOS faisait référence à une version de R Enterprise que j'avais installée. J'ai désinstallé Revolution Enterprise puisque je ne l'utilise pas, et maintenant je reçois l'erreur 'Error: R not found'. J'ai modifié le répertoire par défaut pour R afin que je puisse enregistrer des instances séparées de R ('R \ R-2.11' et 'R \ R-2.10' ..). J'ai besoin de modifier le fichier Sweave.bat pour trouver mon répertoire R ...va regarder maintenant – Chase