plots - ¿Cómo obtener R para reconocer su directorio de trabajo como su directorio de trabajo?
plot title r (9)
Debe copiar el acceso directo a R (archivo R.lnk) a la carpeta deseada. Luego, en "Propiedades" (botón derecho del ratón -> última opción), borre cualquier cosa en el campo "Comenzar en ..." en la segunda pestaña ("¿Acceso directo"?). Si inicia R con este acceso directo, el directorio de trabajo será aquel donde se encuentra el acceso directo.
No tengo la versión en inglés de Windows, así que no estoy seguro de los nombres de los campos, pero deberían ser fáciles de encontrar.
Preguntas similares estaban en R-windows-faq:
2.14 ¿Qué son los directorios de HOME y de trabajo?
En 2.14 se menciona que
El directorio de trabajo es el directorio desde el que se lanzó Rgui o Rterm, a menos que se usara un acceso directo cuando se proporciona en el campo `Inicio en ''de las propiedades del acceso directo.
Yo uso R bajo Windows en varias máquinas.
Sé que puede configurar el directorio de trabajo desde un script R, como este
setwd("C:/Documents and Settings/username/My Documents/x/y/z")
... pero entonces esto rompe la portabilidad del script. También es molesto tener que invertir todas las barras (ya que Windows te da barras invertidas)
¿Hay alguna manera de iniciar R en un directorio de trabajo en particular para que no tenga que hacer esto en el nivel del script?
Guarde su espacio de trabajo en el directorio deseado y, a partir de entonces, simplemente abra el espacio de trabajo desde el Explorador de Windows.
Para Ubuntu:
Inserte el siguiente comando en su archivo .Rprofile
(generalmente en su directorio de inicio):
setwd(Sys.getenv("PWD"))
Ahora su directorio de trabajo predeterminado será el directorio desde el que lanzó R. Tenga en cuenta que también puede configurar espacios de trabajo predeterminados en diferentes directorios guardando su imagen de espacio de trabajo como .RData
donde quiera que inicie R (fuentes de inicio .Rprofile
antes de buscar .Rdata
en el cwd
).
Para configurar el directorio de trabajo R como el directorio actual del script R en el que estoy trabajando, siempre uso una combinación de los comandos getwd()
y setwd()
, como esto:
path <- getwd() setwd(path)
o
setwd(getwd())
Si desea obtener más información al respecto, consulte este article .
Aclamaciones,
[] ''s
Podrías usar una variable ambiental. Esto puede funcionar con Sys.getenv()
y Sys.setenv()
. Por ejemplo:
> Sys.setenv(R_TEST="testit")
> Sys.getenv("R_TEST")
R_TEST
"testit"
Si envió la variable en su script, debería poder acceder a ella desde dentro, y luego llamar a setwd()
en esa salida.
Ponga un atajo para el gui R en su directorio deseado. Haga clic derecho y mire las propiedades del acceso directo. Elimine la entrada para "Iniciar en" y haga clic en Aceptar. Cuando inicie R gui desde este acceso directo, el directorio predeterminado será la carpeta desde la que ha iniciado. Copia / pega este atajo donde quieras.
Pongo la siguiente línea delante de mis scripts y me permite trabajar en mis computadoras.
setwd(path.expand("~/path/to/working/directory/") )
donde ~ es = a su directorio personal.
Sys.setenv(HOME = "path")
o Sys.setenv(R_USER = "path")
pueden establecer el directorio de inicio.
En mi caso, trabajo en varios cuadros de Windows, cada uno tiene estructuras de directorio bastante diferentes, pero al configurar el directorio de inicio correctamente, puedo sincronizar el código entre las computadoras y hacer que se ejecuten correctamente en cada una, ya que donde ejecuto mis proyectos R tienen estructuras de directorio similares .
Si está utilizando Emacs / ESS, esto no es un problema. Navego hasta el directorio donde se encuentra mi script R, lo abro y luego comienzo un proceso R ESS. Aparece una consola R con el directorio actual como el directorio de trabajo de R.
Si no te has convertido a Emacs / ESS, te lo recomiendo. (Aunque para evitar una guerra de fuego, también tengo en cuenta que hay opciones similares para los usuarios de Vi).
Espero que ayude.
Solo un detalle: en lugar de invertir las barras inclinadas como usted dice, simplemente agregue otra barra invertida. Dos de estos // funcionan de la misma manera que uno de estos /. Eso lo hace al menos un poco más fácil.