Escribir funciones en R
Aunque R tiene muchas funciones integradas que van a realizar una amplia variedad de tareas, tarde o temprano, la mayoría de los usuarios del R quieren escribir sus propias funciones en R. En esencia, una función es sólo un pequeño programa que produce una salida definida dado una entrada especificada . Para tomar un ejemplo muy simple, suponga que queremos escribir nuestra propia función para calcular la media de la muestra. Hacemos esto escribiendo un nuevo objeto llamado (por ejemplo) my_mean, que ahora es una función.
my_mean <-function (x) {sum(x) / length (x)}
La entrada a la función es una lista de números x, y la función calcula la media calculando primero la suma y luego dividiendo por el número de elementos (tanto de funciones incorporadas). Note que si solo tecleamos el nombre de la función en la línea de entrada (o de entrada desde la escritura) se proporciona solo la descripción de la función
> my_mean
función (x) {sum(x) / length(x)}
Para utilizar realmente la función debemos proveer entrada (x), así que una lista de números. Por ejemplo,
> datos <-c (1,2,3,4,5,5,6)
> my_mean (datos)
[1] 3.714286
>
se aplica el valor de una lista ("datos") a la función y devuelve la media.
Funciones más complejas se puede escribir que implican 2 o más entradas. Por ejemplo la función.
> my_fun <-function (x, y) {x * 2 + log (y)}
proporciona la función
f(x,y) = x2 + log(y)
Ustedes pueden confirmar que la función producelos resultados correctos de los datos para realizar estos mismos cálculos en una calculadora, por ejemplo,
> my_fun (2,3)
[1] 5.098612
Aunque los ejemplos anteriores parecen algo trivial - porque son - la idea se extiende fácilmente a las aplicaciones más importantes y útiles. Ejemplos veremos más adelante incluyen;
Funciones para convertir los datos de un archivo, base de datos, o cualquier otro formato a un formato compatible con un programa para el análisis de CMR (MARK, RMark)
Funciones para convertir de una escala o conjunto de unidades de medida a otra (por ejemplo, véase el ejemplo de conversión de la temperatura)
Funciones para ejecutar un conjunto de modelos en un conjunto de datos y resumir los resultados (incluir el trazado)
Funciones para simular los datos bajo un modelo específico y luego ejecutar la simulación de datos, aunque un programa de estimación
Siguiente: Ejercicios