sábado, 8 de agosto de 2009

R: Script

Cada vez que queramos usar una función diseñada por nosotros mismos, debemos cargarla previamente en R, para ello, disponemos de los script, donde podremos almacenar varias funciones y cargarlas en cualquier momento para su posterior uso.

Y los script, son el tema en cuestión que trata este capítulo: su diseño y su posterior carga en R.

¿Para que valen los script? Pues ya se ha comentado anteriormente, lo aplicaremos para agrupar varias funciones de un proyecto o funciones diseñadas por nosotros mismos que usemos de forma habitual en nuestro trabajo o estudio.

Vamos a ilustrar el manejo de script con un ejemplo de aplicación, pensemos que necesitamos diseñar una función que devuelva el área de un círculo pasando por parámetros el radio del mismo.

Realizamos un resumen de la función a diseñar:

· Nombre de la función: AreaCirculo.
· Parámetro de la función: Radio.
· Devuelve el área del círculo.

Y la función es:

> AreaCirculo <- function(radio){
+ area <- pi*radio^2
+ area}

Pero nuestra misión no es crear una función en R directamente, sino diseñar un script donde podamos almacenar dicha función y otras para su posterior uso. Para crear un script en R, los pasos son los siguientes:

  • En la Barra de herramientas: Archivo -> Nuevo script: Se nos abrirá una ventana que es la que utilizaremos para almacenar las funciones:

  • El siguiente paso es escribir la función o funciones en dicho editor del script:

  • Y el último paso es, guardar el script: En la barra de herramientas del script, Archivo -> Guardar como..., se nos abrirá la ventana para elegir carpeta o ubicación para guardar nuestro script, en mi caso, tengo una carpeta llamada R Script en el directorio principal, en C, donde tengo todos mis script guardados, y le damos nombre, por ejemplo: Circulo.r.
Cosa a tener muy en cuenta cuando guardemos nuestro script: Ponerle el .r al nombre del mismo de forma manual, ya que sino, el programa lo graba sin extensión y probablemente tengamos problemas al cargarlo posteriormente.

Y en estos momentos ya tenemos un script con una función lista para ser cargada en R y usada cuando queramos.

El siguiente paso, es cargarlo en R para poder usarlo, y para asegurarnos que funciona, borraremos todos los objetos cargados en R:

> rm(list=ls(all=TRUE))

Y para ver que así ha sido, comprobamos los objetos que están cargados:

> ls()
character(0)

Como queríamos, no hay ninguno. Pues bien, es hora de cargar nuestro script, hay dos maneras de hacerlo:
  • Por el menú de Barra de Herramientas: Archivo -> Abrir script..., nos saldrá la ventana de búsqueda, seleccionamos nuestro script, Criculo.r, en la ruta que haya sido guardado y se nos abrirá el editor del script con las funciones que contiene. Para ejecutarlo, nos dirigimos a la Barra de herramientas, Editar -> Ejecutar todo, y automáticamente se nos cargará en R nuestro script con todas las funciones diseñadas en él.
  • El otro medio de cargar script es mediante instrucción por consola donde debemos indicar la ruta a la función source():
> source("C:/R Script/Circulo.R")

Ya tendríamos nuestro script cargado, para verificarlo, comprobamos los objetos en R:

> ls()
[1] "AreaCirculo"

Como podemos comprobar, está cargada nuestra función, y bien, ya sólo nos queda usarla, por ejemplo, calcular el área de un circulo de radio 3 cm:

> AreaCirculo(0.03)
[1] 0.002827433

El resultado del área es: 0.002827433 m2.
Como ya se ha comentado, en un script, pueden ir una o varias funciones dentro, como modo de ejemplo, se completará el script Circulo.r con las funciones básicas para el manejo de Circunferencias y Círculos.

Las funciones que contiene el script Circulo son:

· AreaCirculo(radio): Devuelve el área de un círculo. El parámetro de entrada es el radio del círculo.
· LongCir(radio): Devuelve la longitud de una circunferencia. El parámetro de entrada es el radio de la misma.
· SecCir(radio,n): Devuelve el área de un sector circular. Los parámetros de entrada son el radio y el sector de amplitud n.
· LongSec(radio,n): Devuelve la longitud de un arco de circunferencia. Los parámetros de entrada son el radio y el sector de amplitud n.

Se puede descargar el script Circulo.r del siguiente enlace:

Circulo.r
Circulo.r


Como hemos podido comprobar, R pone a nuestra disposición de una gran herramienta a nuestro alcance para almacenar nuestras funciones diseñadas en script.

Destacar ante todo, la facilidad de uso y manejo para nuestro trabajo o estudio.

0 comentarios: