CAPÍTULO 5. ESCRITURA DE FUNCIONES
96
Nótese que al solicitar el valor del símbolo
“t”
, esta vez, en lugar de desple-
gar el código de la función asociada, regresa un conjunto de información que,
en efecto la identifica como una función, pero con otros datos adicionales. Ello
se debe a que se trata de una función de biblioteca. Para el asunto que nos ocu-
pa, de la información desplegada, lo que interesa es el texto:
<environment:
namespace:base>
, pues es un indicador, de que el valor asociado ahora al sím-
bolo
“t”
, se encontraba guardado justamente
ahí
, en el ambiente (
environment
en inglés) del espacio de nombres (
namespace
en inglés), de un paquete o biblio-
teca llamada “base”. Pero, ¿cuántos de estos ambientes hay cuando se ejecuta
un programa en R?, y ¿de cuál de ellos toma R el valor asociado a un nombre
particular? La función
search()
, permitirá responder a ambas preguntas:
search
()
## [1] ".GlobalEnv"
"package:knitr"
## [3] "package:stats"
"package:graphics"
## [5] "package:grDevices" "package:utils"
## [7] "package:datasets" "Autoloads"
## [9] "package:base"
El resultado de esta función es un vector de cadenas de caracteres, cada una
de las cuales es la descripción de un “ambiente”, en el que se
guardan
asocia-
ciones entre símbolos y valores. Para saber los símbolos que contiene alguno
de estos ambientes, se usa la función
ls()
, con el nombre del ambiente como
argumento. Como generalmente, estos ambientes contienen una gran cantidad
de símbolos, filtraremos aquí el resultado con la función
head()
, que limita el
resultado a pocos elementos al inicio, seis por
default
. Así, veamos cuales son
esos primeros seis símbolos para el ambiente
“package:stats”
, y la totalidad
de los símbolos en primer ambiente,
“.GlobalEnv”
, el argumento default de
ls()
, de la lista anterior, como sigue:
# Introduzcamos, en la "consola", primeramente un
# símbolo cualquiera 'MiSimbolo', para la explicación
# posterior en el texto
MiSimbolo
<-
5
head
(
ls
(
"package:stats"
) )
# Primeros seis elementos
## [1] "acf"
"acf2AR"
"add1"
"addmargins"
## [5] "add.scope" "aggregate"
ls
()
# Equivale a: ls(".GlobalEnv")
## [1] "ar"
"f"
"MiFunc.v1" "MiFunc.v2"
## [5] "MiFunc.v3" "MiSimbolo" "mx"
"NuevaMiFunc"
Todos los símbolos que se definen mediante el operador de asignación a
nivel de la
consola
del intérprete de R, se introducen en el primer ambiente de