your write test studiodio studio organize how for create code and r package

write - carpetas inst y extdata en R Packaging



r studio>} (2)

En la documentación, R sugiere que los archivos de datos brutos (no Rdata ni Rda) se ubiquen en inst/extdata/

Desde el primer párrafo en: http://cran.r-project.org/doc/manuals/R-exts.html#Data-in-packages

El subdirectorio de datos es para archivos de datos, ya sea para estar disponibles mediante carga diferida o para cargar utilizando datos (). (La elección se realiza mediante el campo ''LazyData'' en el archivo DESCRIPTION: el valor predeterminado es no hacerlo). No se debe utilizar para otros archivos de datos necesarios para el paquete, y la convención ha crecido para usar directorio inst / extdata para tales archivos.

Por lo tanto, he movido todos mis datos brutos a esta carpeta, pero cuando construyo y vuelvo a cargar el paquete y luego trato de acceder a los datos en una función con (por ejemplo):

read.csv(file=paste(path.package("my_package"),"/inst/extdata/my_raw_data.csv",sep="")) # .path.package is now path.package in R 3.0+

Aparece el error "no se puede abrir el archivo".

Sin embargo, parece que hay una carpeta llamada /extdata en el directorio del paquete con los archivos (post-build e install). ¿Qué está pasando con la carpeta /inst ?

¿Todo en la carpeta / inst se inserta en el / del paquete?


Estuviste muy cerca y esencialmente tuviste esto. Una referencia formal de ''Writing R Extensions'' es:

1.1.3 subdirectorios de paquete

[...]

El contenido del subdirectorio inst se copiará recursivamente en el directorio de instalación. Los subdirectorios de inst no deberían interferir con los utilizados por R (actualmente, R , data , demo , exec , libs , man , help , html y Meta , y las versiones anteriores usaban latex , R-ex ). La copia de inst ocurre después de inst src para que su Makefile pueda crear archivos para ser instalados. Antes de R 2.12.2, los archivos se instalaron en plataformas POSIX con los permisos en las fuentes del paquete, por lo que se debe tener cuidado para asegurarse de que no sean demasiado restrictivos: R CMD build hará los ajustes adecuados. Para excluir archivos de la instalación, se puede especificar una lista de patrones de exclusión en el archivo .Rinstignore en el directorio de origen de nivel superior. Estos patrones deberían ser expresiones regulares parecidas a Perl (consulte la ayuda para la expresión regular en R para conocer los detalles), una por línea, que se comparará (10) con el archivo y las rutas del directorio, por ejemplo, doc/.*[.]png$ excluirá todos los archivos PNG en inst/doc según la extensión (minúscula).


Más útil que usar file.path sería usar file.path . Una vez que su paquete está instalado, puede tomar su archivo de la siguiente manera:

fpath <- system.file("extdata", "my_raw_data.csv", package="my_package")

fpath ahora tendrá la ruta absoluta en su HD al archivo.