CAPÍTULO 2. LOS DATOS Y SUS TIPOS
45
En este caso, la función de biblioteca
sqrt()
, entrega la raíz cuadrada, y el
operador
^
, eleva un valor a la potencia indicada como segundo argumento.
La función entrega como resultado el último valor calculado que encuentre,
aunque esta entrega se pude hacer explícita mediante la instrucción
return
,
con lo cual la función anterior podría alternativamente ser codificada como:
hipotenusa
<-
function
(
x
,
y
) {
return
(
sqrt
(x
^
2
+
y
^
2
))
}
Para utilizar esta función lo hacemos con:
hipotenusa
(
3
,
4
)
## [1] 5
Los argumentos de la función tienen nombres, y esos se pueden usar en el
llamado a la función, cambiando incluso el orden en que aparecen en la defini-
ción de la función.
hipotenusa
(
y
=
4
,
x
=
3
)
## [1] 5
Otra característica es que las funciones, en su definición, pueden tener va-
lores asignados por defecto o en ausencia cuando es llamada la función:
hipotenusa
<-
function
(
x
=
3
,
y
=
4
) {
# valores por ausencia
return
(
sqrt
( x
^
2
+
y
^
2
) )
}
# Llamamos a la función con argumentos "ausentes"
hipotenusa
()
## [1] 5
Las funciones toman sus datos de los argumentos dados o de las variables
que “le están al alcance”
5
a la función, así por ejemplo, la siguiente función:
ff
<-
function
(
r
) {
return
(PI
*
r
^
2
)
}
si se ejecuta esta función, por ejemplo, con
ff(3)
, puede disparar un error, ya
que no se ha definido el valor de PI. Pero si se ejecuta en la siguiente secuencia,
se obtendrá un valor, aun cuando la función se haya definido con anterioridad:
5
En la sección 5.2.2 en la página 98, se aborda con más detalle este tema.