tablas studio programacion paquetes librerias lenguaje funcion ejemplos disponibles datos comandos bases c++ r package configure

c++ - programacion - paquetes de r studio



¿Dónde hay un buen tutorial sobre cómo crear un paquete R con código fuente de C++? (2)

Mi enfoque predeterminado es aprender cómo otros han resuelto el problema. Hay más de 2800 paquetes CRAN, y muchos han estado allí por más de una década. El problema es solucionable, y ha sido resuelto.

Ahora, también es cierto que la documentación está ahí, pero tal vez dispersa demasiado. Además, los objetivos cambian. Por ejemplo, hace años, todavía usamos src/Makefile , en estos días se recomienda mucho en contra debido a la necesidad de compilaciones multiarch (en OS X, en Windows y un día también en Linux).

Así que intentar mantenerlo simple ayuda. De hecho, puede tener un proyecto de C ++ válido ... sin nada. Simplemente suelte los archivos de fuentes en src/ de su paquete foo, y R sabrá cómo compilar libfoo.so o libfoo.dylib o ..., según la plataforma. Y si necesita otros archivos de encabezado, intente usar src/Makevars . Para las dependencias externas, se complica y uno tiene que aprender autoconf y otros, pero muchos paquetes pasan por alto con algo simple.

Entonces, amplíe su pregunta, muestre lo que está fallando y documente lo que intentó. Estoy seguro de que podemos ayudarle.

Edición: Y en caso de que quiera esto con el paquete Rcpp (que ayuda con la integración de R y C ++), entonces hay una viñeta completa a punto de hacer esto en su propio paquete .

Edición 2: Ahora que expandió tu pregunta, CUDA es una bestia completamente diferente. Eso es más difícil a medida que mezcla diferentes compiladores, etc. pp. Hay dos paquetes de ejemplo en CRAN, estudie esos.

Estoy perdido cuando empiezo a mirar los scripts de configuración. No estoy seguro de cómo crear un paquete R que tenga varias funciones creadas desde C / C ++ de tal manera que sea portátil entre Windows y Linux. Mis intentos de modificar las entrañas de los paquetes existentes han sido infructuosos.

Cualquier ayuda o enlaces serían muy apreciados.

Actualización: si es posible, me gustaría enlazar con: Boost , CUDA , & hwloc

Sin embargo, me doy cuenta de que Boost será una pesadilla y que hwloc no será mucho mejor. Así que me conformaría con solo CUDA. Esta fue la razón por la que me sumergí en el fondo y traté de modificar algunos paquetes existentes para adaptarlos a mis necesidades (rgl y rglpk). Pero estoy dispuesto a comenzar sin dependencias y construir desde cero. ¡Gracias a todos por sus sugerencias!


También me perdí bastante al escribir mi primer paquete con código compilado. Aquí hay algunos consejos, pero probablemente hay mejor material por ahí.

La pieza principal acerca de escribir paquetes R es "Escribir extensiones R". Esta es una guía muy completa, pero también dificulta su lectura: http://cran.r-project.org/doc/manuals/R-exts.pdf

Aquí hay un pequeño tutorial que encontré en Google una vez que usé primero, que contiene cómo usar el código C: http://www.stat.columbia.edu/~gelman/stuff_for_blog/AlanRPackageTutorial.pdf

Otra guía sobre los paquetes R en general, pero no con el código C: http://cran.r-project.org/doc/contrib/Leisch-CreatingPackages.pdf

Rcpp es un paquete muy útil para el código C ++, pero aún no lo he usado mucho (de hecho, 3 días). Tiene mucha documentación en el propio paquete.