2012-03-13 7 views
10

¿Hay alguna forma de acceder a la versión de Windows de un archivo de ayuda en una computadora con Linux dentro de R?R archivos de ayuda en diferentes sistemas operativos

Escribo una buena cantidad de código R en mi máquina Linux, pero tengo que asegurarme de que el código se ejecute en una máquina con Windows para colaboradores.

me he quemado varias veces mediante la lectura de un archivo de ayuda en mi máquina Linux, escribiendo mi código, y luego de pasar horas preguntándose por qué no está trabajando en la máquina de Windows hasta que puedo comprobar el archivo de ayuda en esa máquina y darse cuenta de que es diferente al que está en la máquina Linux.

Por lo general, tendrá una "NOTA: en Windows, xxxx se comporta de manera diferente ...", y ¡ojalá lo supiera mientras escribía el código en mi máquina Linux!

Me doy cuenta de que muchos archivos de ayuda son específicos del sistema (por ejemplo, ?system), pero a veces me gustaría leer la versión de Windows en mi computadora Linux. Hoy me encontré con ganas de leer ?windows, pero tuve que iniciar mi computadora portátil con Windows solo para leer ese archivo de ayuda, porque esa función no está disponible en Linux y, por lo tanto, no hay ningún archivo de ayuda.

aplausos.

+0

Una alternativa a la sugerencia de Dirk sería mantener una copia de la versión de Windows del índice de referencia r en tu máquina Linux. Es un gran pdf que contiene los archivos de ayuda para todos los paquetes R básicos, y se almacena en '$ R_HOME/doc/manual/refman.pdf'. También podría investigar la posibilidad de copiar sobre [parte de] una instalación de Windows de R en su caja Linux, y luego usar el argumento 'lib.loc' para' help() 'para dirigir su búsqueda de archivos de ayuda a la instalación de Windows árbol de directorios. Eso parece más complicado de lo que vale, pero depende de usted. –

Respuesta

5

Siempre se puede mirar en la fuente que le da condicionales claras - esto es de man/system.Rd:

#ifdef windows 
    Only double quotes are allowed on Windows: see the examples. (Note: a 
    Windows path name cannot contain a double quote, so we do not need to 
    worry about escaping embedded quotes.) 

    [...] 

#endif 
#ifdef unix 
    Unix-alikes pass the command line to a shell (normally \file{/bin/sh}, 
    and POSIX requires that shell), so \code{command} can be anything the 
    shell regards as executable, including shell scripts, and it can 
    contain multiple commands separated by \code{;}. 

    [...] 

#endif 
+0

Gracias, parece lo que debería hacer. Es una pena, sin embargo. –

Cuestiones relacionadas