2011-03-14 30 views
15

Tengo un Macintosh y estoy tratando de cargar automáticamente paquetes, funciones caseras, y uso la configuración modificada cada vez que comienzo R. Creo que esto se puede hacer con un archivo llamado Rprofile.site, y al crear las funciones. Primero y . Última en ese archivo.¿Cómo cargar automáticamente la configuración en R en OSX? ¿Cómo encontrar R_HOME, configurar Rprofile.site, etc.?

Un problema es que no tengo idea de cuál es mi directorio R_HOME, para qué se utiliza ni si existe. Encontré dos funciones que pensé que ambas me daban su ubicación, pero obtengo resultados diferentes.

Aquí está la primera

> Sys.getenv("R_home") 
R_home 
    "" 

Y el segundo

> R.home() 
[1] "/Library/Frameworks/R.framework/Resources" 

Por lo que yo puedo decir que segundo directorio ni siquiera existe en mi máquina. Actualmente estoy ejecutando R desde mi directorio de aplicaciones.

+1

¿por qué no agrega un programa o secuencia de comandos a su inicio en su uso de las cuentas en Preferencias del sistema? Incluso si insistes en otros métodos, Launchd sería mucho mejor. – AbiusX

+0

No entiendo muy bien lo que dices. ¿Qué es "Launchd"? – Michael

+0

@AbiusX: No, no creo que la configuración R de shoehorning en demonios de lanzamiento específicos de MacOS sea buena, no es portátil (a diferencia de los archivos ~ /.* rc). También es muy usuario de energía. – smci

Respuesta

15

Durante los años que han llegado a confiar en la documentación help(Startup) como el mejor lugar para leer sobre esto. Hay numerosos archivos de configuración por usuario y por sitio como es habitual para las aplicaciones ricas. Puede parecer exagerado al principio, pero es un sistema realmente bueno. Y una vez que grok Renviron frente a Renviron.site y dito para Rprofile, aprecia el comportamiento constante en todas las plataformas.

+0

¡Muchas gracias por su ayuda! He mirado? Startup bastante, pero lo haré más. No sé a qué te refieres con "Y una vez que asimilas Renviron versus Renviron.site y dito para Rprofile, aprecias el comportamiento constante en todas las plataformas". aunque. – Michael

+1

Quería decir que tal vez apreciarás los grados de libertad entre la configuración solo para usuarios y la de todo el sitio, lo que importa si tu máquina es multiusuario y, a veces, cuándo/cómo actualizas las versiones R. –

+0

Dirk, entonces continúo trabajando en la documentación en? Startup. Gran parte del lenguaje en ellos es difícil de descifrar para los tipos que no son de computadora. Por ejemplo ... "En los sistemas con sub-arquitecturas (principalmente Mac OS X y Windows), los archivos 'Renviron.site' y 'Rprofile.site' se buscan primero en directorios específicos de la arquitectura, por ejemplo, 'R_HOME/etc' /i386/Renviron.site '. Y, por ejemplo,' .Renviron.i386 'se usará con preferencia a' .Renviron '. " Estoy intentando que R busque mi archivo Rprofile.site, y todavía no puedo hacerlo a pesar de tener las instrucciones para hacerlo justo en frente de mí. – Michael

13

Michael, Yo también he encontrado este tema para ser un poco confuso. Estoy en una Mac también. Creé un archivo "Rprofile" que tiene todas mis personalizaciones. Aquí se muestra cómo funciona (no creo que haya nada de especial en mi puesta a punto):

  1. El "Rprofile" va en/Usuarios/michael
  2. El "Rprofile" ha de estar compuesta de comandos que R lo entenderá (por ejemplo, puede obtenerlo).
  3. El "Rprofile" se debe llamar .Rprofile El período inicial significa que el archivo está oculto del sistema operativo normal. Tienes que abrir una ventana de terminal y hacer una> ls -la para verla (suponiendo que cd a ese directorio, si es necesario). Además, verá muchos otros archivos ocultos. Y probablemente no exista hasta que lo cree, siguiente paso.
  4. Utilizo TextEdit para crear un archivo llamado R.txt y coloco los comandos (inicio simple para propósitos de prueba).
  5. Luego, en una ventana de terminal, escribo> cp R.txt. Perfil que copia el archivo R.txt visible en el archivo .Rprofile invisible Puede verificar haciendo> ls -la nuevamente para verlo en la lista del directorio.
  6. Reinicia R y mira si funcionó. Por ejemplo, si coloca library (ggplot2) en su R.txt, esa biblioteca se debe cargar al inicio. Si no lo hace, entonces un comando de esa biblioteca no funcionará, como qplot (x = 1:10, y = 1:10). Otras personas puestas en comandos como el gato ("Mi .Rprofile funciona! \ N), que debe mostrar durante el lanzamiento.

HTH Bryan

+0

¡Gracias por la ayuda! He guardado un archivo llamado .Rprofile y lo coloqué en/Users/XXXX pero R todavía no lo está ejecutando al inicio. Incluso algo tan simple como> library (MASS) debería al menos cargar esa biblioteca al inicio pero no es así. :( – Michael

+0

Puede ver lo que realmente está cargado con> sessionInfo() Su R.app debe estar en su carpeta de aplicaciones (aunque no estoy seguro de que importe). La ubicación que describí funciona para mí sin importar cómo lance R. Supongo que deberías ir con la sugerencia de Dirk de estudiar? Startup que sé que es muy denso y honestamente un poco doloroso. Por "grok" quiere decir entrar en la cabeza de R y entender intuitivamente lo que es el esquema (ver Wikipedia para una definición completa) –

+0

Ah, ¿y ha buscado en los archivos de la lista R para obtener información? [Link] (http://r.789695.n4.nabble.com/) También hay una lista de correo específicamente para problemas de Mac. –

2

Si ejecuta getwd(), verá su directorio de inicio de R. En un mac es típicamente /User/login_name Ahí es donde dejo mi .RProfile donde cargo funciones personalizadas y también uso frecuente de paquetes.

Ver también: Useful little functions in R (para poner en su.RProfile) y Expert R users, what's in your .Rprofile?…

+0

¿El directorio de trabajo es el mismo que el directorio de inicio? Intenté guardar el .RProfile en mi directorio de trabajo y R no lo ejecuta al inicio. ¿Debería mi archivo R.app estar en mi directorio de trabajo también? – Michael

+0

Encienda R. Luego ⌘ +, (o R> Preferencias del menú) y configure el directorio inicial como ~ Luego cierre y reinicie. ¿Eso lo hace? R.app no ​​tiene que estar en su directorio de trabajo. – Maiasaura

Cuestiones relacionadas