ejercicios - funciones en lenguaje r
Convenciones de comentar de funciones en R (3)
La forma canónica de documentar sus funciones y hacerlas accesibles a otros es hacer un paquete. Para que su paquete pase las comprobaciones de compilación, debe proporcionar archivos de ayuda suficientemente detallados para cada una de sus funciones / conjuntos de datos.
Echa un vistazo a http://cran.r-project.org/doc/manuals/R-exts.html#Creating-R-packages
Esta publicación del blog de Rob J Hyndman fue muy útil y una de las más fáciles de seguir: http://robjhyndman.com/researchtips/building-r-packages-for-windows/
Comencé a usar roxygen para ayudar a crear y compilar paquetes en los últimos tiempos: http://roxygen.org/
¡Un montón de buenos recursos y personas para ayudar cuando tengas preguntas!
Soy bastante nuevo en R, y he estado definiendo algunas de mis propias funciones en archivos de script. Tengo la intención de que otros los reutilicen más tarde, y no puedo encontrar ninguna guía sobre las convenciones de comentarios de la función R. ¿Hay alguna forma de que la help("my_function_name")
muestre alguna ayuda? Si no es así, ¿simplemente documento la función en el archivo de script, de modo que alguien tenga que imprimir (o abrir la fuente de) un script para ver los comentarios?
Gracias,
Hamy
Otra alternativa (y clave inferior) que podría considerar son las funciones comment()
y attr()
para agregar algunos metadatos a sus funciones. Aquí hay un ejemplo rápido y tonto:
FOO <- function(x,y) {
x + y
}
attr(FOO, "comment") <- "FOO performs simple addition"
#This can be arbitrary. "comment" is special. see ?comment for details.
attr(FOO, "help") <- "FOO expects two numbers, and it will add them together"
A continuación, puede ver todo lo asociado con FOO
utilizando attributes()
:
> attributes(FOO)
$source
[1] "function(x,y) {" " x + y " "}"
$comment
[1] "FOO performs simple addition"
$help
[1] "FOO expects two numbers, and it will add them together"
O extraer partes específicas:
> attr(FOO, "help")
[1] "FOO expects two numbers, and it will add them together"
attr(FOO, "comment")
[1] "FOO performs simple addition"
Y en el caso de comentar, usa comment()
:
> comment(FOO)
[1] "FOO performs simple addition"
A largo plazo, escribir su propio paquete seguramente valdrá la pena el gasto en gastos y la inversión de tiempo, pero si por alguna razón eso no es práctico en el corto plazo, aquí hay otra opción.
Tendrá que poner funciones en un paquete (lo que hace que la función de portar sea REALMENTE fácil). Hace un tiempo escribí una breve publicación sobre el tema con enlaces (espero que aún funcionen) a algunos documentos relevantes que amplían el tema.
Puede generar archivos de ayuda "sobre la marcha" utilizando roxygen , inlinedocs .