Saltar al contenido principal
LibreTexts Español

4.2: Instalación y Carga de Paquetes

  • Page ID
    151491
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    En esta sección hablo de paquetes R, ya que casi todas las funciones que quizás quieras usar en R vienen en paquetes. Un paquete es básicamente una gran colección de funciones, conjuntos de datos y otros objetos R que se agrupan bajo un nombre común. Algunos paquetes ya están instalados cuando pones R en tu computadora, pero la gran mayoría de ellos de los paquetes R están ahí afuera en internet, esperando que los descargues, los instales y los uses.

    Cuando empecé a escribir este libro, Rstudio no existía realmente como una opción viable para usar R, y como consecuencia escribí una sección muy larga que explicaba cómo hacer la administración de paquetes usando comandos Raw R. En realidad no es terriblemente difícil trabajar con paquetes de esa manera, pero es torpe y desagradable. Afortunadamente, ya no tenemos que hacer las cosas de esa manera. En esta sección, voy a describir cómo trabajar con paquetes usando las herramientas de Rstudio, porque son mucho más simples. En el camino, verás que cada vez que hagas que Rstudio haga algo (por ejemplo, instale un paquete), en realidad verás los comandos R que se crean. Los voy a explicar a medida que avanzamos, porque creo que eso te ayuda a entender lo que está pasando.

    Sin embargo, antes de comenzar, hay una distinción crítica que debes entender, que es la diferencia entre tener un paquete instalado en tu computadora, y tener un paquete cargado en R. Al momento de escribir esto, ahí son poco más de 5000 paquetes R disponibles gratuitamente “por ahí” en Internet. 42 Cuando instalas R en tu computadora, no obtienes todos ellos: solo alrededor de 30 o menos vienen incluidos con la instalación básica de R. Entonces en este momento hay alrededor de 30 paquetes “instalados” en su computadora, y otros 5000 más o menos que no están instalados. Entonces eso es lo que significa instalado: significa “está en tu computadora en alguna parte”. Lo crítico a recordar es que el hecho de que haya algo en tu computadora no significa que R pueda usarlo. Para que R pueda usar uno de sus 30 paquetes más o menos instalados, ese paquete también debe estar “cargado”. Generalmente, cuando abres R, solo algunos de estos paquetes (aproximadamente 7 u 8) están realmente cargados. Básicamente a lo que se reduce es a esto:

    Se debe instalar un paquete antes de que pueda cargarse.

    Se debe cargar un paquete antes de que pueda ser utilizado.

    Este proceso de dos pasos puede parecer un poco extraño al principio, pero los diseñadores de R tenían muy buenas razones para hacerlo de esta manera, 43 y te acostumbras bastante rápido.

    panel de paquete en Rstudio

    Rstudiopackages.png
    Figura 4.1: El panel de paquetes.

    Bien, comencemos. Lo primero que debes hacer es mirar en el panel inferior derecho en Rstudio. Verás una pestaña etiquetada como “Paquetes”. Haga clic en la pestaña, y verá una lista de paquetes que se parecen a la Figura 4.1. Cada fila del panel corresponde a un paquete diferente, y cada columna es una pieza útil de información sobre ese paquete. 44 Pasando de izquierda a derecha, esto es lo que te dice cada columna:

    • La casilla de verificación en la columna del extremo izquierdo indica si el paquete está cargado o no.
    • La única palabra de texto inmediatamente a la derecha de la casilla de verificación es el nombre del paquete.
    • El breve pasaje de texto junto al nombre es una breve descripción del paquete.
    • El número junto a la descripción te indica qué versión del paquete tienes instalado.
    • La pequeña marca x junto al número de versión es un botón que puedes presionar para desinstalar el paquete de tu computadora (casi nunca necesitas esto).

    Cargando un paquete

    Eso parece bastante sencillo, así que intentemos cargar y descargar paquetes. Para este ejemplo, usaré el paquete foráneo. El paquete externo es una colección de herramientas que son muy útiles cuando R necesita interactuar con archivos que son producidos por otros paquetes de software (por ejemplo, SPSS). Viene liado con R, así que es uno de los que ya tienes instalado, pero no será uno de los cargados. Dentro del paquete externo hay una función llamada read.spss (). Es una pequeña función útil que puedes usar para importar un archivo de datos SPSS a R, así que pretendamos que queremos usarlo. Actualmente, el paquete foráneo no está cargado, así que si le pido a R que me diga si sabe de una función llamada read.spss () me dice que no existe tal cosa...

    exists( "read.spss" )
    ## [1] FALSE

    Ahora vamos a cargar el paquete. En Rstudio, el proceso es completamente simple: vaya a la pestaña del paquete, busque la entrada para el paquete foráneo y marque la casilla en el lado izquierdo. En el momento en que hagas esto, verás aparecer un comando como este en la consola R:

    library("foreign", lib.loc="/Library/Frameworks/R.framework/Versions/3.0/Resources/library")

    El bit lib.loc se verá ligeramente diferente en Mac versus en Windows, porque esa parte del comando es solo Rstudio diciéndole a R dónde buscar para encontrar los paquetes instalados. Lo que te he mostrado arriba es la versión para Mac. En una máquina con Windows, probablemente verás algo que se ve así:

    library("foreign", lib.loc="C:/Program Files/R/R-3.0.2/library")

    Pero en realidad no importa mucho. El bit lib.loc casi siempre es innecesario. A menos que hayas llevado a instalar paquetes en lugares idiosincrásicos (que es algo que puedes hacer si realmente quieres) R ya sabe dónde buscar. Entonces, en la gran mayoría de los casos, el comando para cargar el paquete externo es solo esto:

    library("foreign")

    A lo largo de este libro, a menudo me verás escribiendo comandos library (). En realidad no tienes que escribirlos tú mismo: puedes usar el panel de paquetes de Rstudio para hacer toda la carga de tu paquete por ti. La única razón por la que incluyo los comandos library () a veces es como un recordatorio para que te asegures de que tienes cargado el paquete relevante. Ah, y supongo que deberíamos verificar para ver si nuestro intento de cargar el paquete realmente funcionó. Veamos si R conoce ahora la existencia de la función read.spss ()...

    exists( "read.spss" )
    ## [1] TRUE

    Sí. Todo bien.

    Descarga de un paquete

    A veces, sobre todo después de una larga sesión de trabajo con R, te encuentras con ganas de deshacerte de algunos de esos paquetes que has cargado. El panel de paquetes Rstudio hace que esto sea exactamente tan fácil como cargar el paquete en primer lugar. Encuentre la entrada correspondiente al paquete que desea descargar y desmarque la casilla. Cuando hagas eso para el paquete foráneo, verás aparecer este comando en pantalla:

    detach("package:foreign", unload=TRUE)

    Y el paquete está descargado. Podemos verificar esto viendo si la función read.spss () aún existe ():

    exists( "read.spss" )
    ## [1] FALSE

    No. Definitivamente se fue.

    comentarios extra

    Las secciones 4.2.2 y 4.2.3 cubren las principales cosas que debes saber sobre la carga y descarga de paquetes. No obstante, hay un par de detalles más a los que quiero llamar su atención. Un ejemplo concreto es la mejor manera de ilustrar. Uno de los otros paquetes que ya tienes instalado en tu computadora es el paquete Matrix, así que carguemos ese y veamos qué pasa:

    library( Matrix )
    
    ## Loading required package: lattice

    Esto es un poco más complejo que la salida que obtuvimos la última vez, pero no es demasiado complicada. El paquete Matrix hace uso de algunas de las herramientas en el paquete de celosía, y R ha hecho un seguimiento de esta dependencia. Entonces, cuando intentas cargar el paquete Matrix, R reconoce que también vas a necesitar tener el paquete de celosía cargado también. Como consecuencia, ambos paquetes se cargan, y R imprime una pequeña nota útil en la pantalla para decirte que ya lo ha hecho.

    R es bastante agresivo en cuanto a hacer cumplir estas dependencias. Supongamos, por ejemplo, intento descargar el paquete de celosía mientras el paquete Matrix todavía está cargado. Esto es bastante fácil de probar: todo lo que tengo que hacer es desmarcar la casilla junto a “celosía” en el panel de paquetes. Pero si intento esto, esto es lo que sucede:

    detach("package:lattice", unload=TRUE)
    
    ## Error: package `lattice' is required by `Matrix' so will not be detached
    

    R se niega a hacerlo. Esto puede ser bastante útil, ya que te impide eliminar accidentalmente algo que aún necesitas. Entonces, si quiero eliminar tanto Matrix como celosía, necesito hacerlo en el orden correcto

    Algo más que debes tener en cuenta. A veces intentarás cargar un paquete, y R imprimirá un mensaje en pantalla diciéndote que algo u otro ha sido “enmascarado”. Esto te resultará confuso si no lo explico ahora, y en realidad se relaciona muy estrechamente con toda la razón por la que R te obliga a cargar paquetes por separado de instalarlos. He aquí un ejemplo. Dos de los paquetes al que me referiré mucho en este libro se llaman coche y psiquiatría. El paquete de autos es la abreviatura de “Companion to Applied Regression” (que es un libro realmente genial, agregaré), y tiene muchas herramientas que me gustan bastante. El paquete de autos fue escrito por un tipo llamado John Fox, quien ha escrito muchas herramientas estadísticas geniales para aplicaciones de ciencias sociales. El paquete psicológico fue escrito por William Revelle, y tiene muchas funciones que son muy útiles para los psicólogos en particular, especialmente en lo que respecta a las técnicas psicométricas. En su mayor parte, el automóvil y la psicología no tienen ninguna relación entre sí. Hacen cosas diferentes, así que no es sorprendente que casi todos los nombres de las funciones sean diferentes. Pero... hay una excepción a eso. El paquete de autos y el paquete psicológico contienen una función llamada logit (). 45 Esto crea un conflicto de nombres. Si cargo ambos paquetes en R, se crea una ambigüedad. Si el usuario escribe logit (100), ¿debería R usar la función logit () en el paquete del auto, o la del paquete psych? La respuesta es: R usa el paquete que cargaste más recientemente, y te dice esto de manera muy explícita. Esto es lo que sucede cuando cargo el paquete del auto, y luego cargo el paquete psiquiátrico:

    library(car)
    ## Loading required package: carData
    
    library(psych)
    ## 
    ## Attaching package: 'psych'
    
    ## The following object is masked from 'package:car':
    ## 
    ##   logit

    La salida aquí le dice que el objeto logit (es decir, función) en el paquete del automóvil ya no es accesible para usted. Se te ha ocultado (o “enmascarado”) por el que está en el paquete de psiquiatría. 46

    Descargando nuevos paquetes

    Uno de los principales puntos de venta para R es que hay miles de paquetes que se han escrito para ello, y estos están todos disponibles en línea. Entonces, el paradero en línea son estos paquetes por encontrar, y ¿cómo los descargamos e instalamos? Existe un gran repositorio de paquetes llamado “Comprehensive R Archive Network” (CRAN), y la forma más fácil de obtener e instalar un nuevo paquete es desde uno de los muchos sitios espejo de CRAN. Convenientemente para nosotros, R proporciona una función llamada install.packages () que puedes usar para hacer esto. Aún más convenientemente, el equipo de Rstudio ejecuta su propio espejo CRAN y Rstudio tiene una interfaz limpia que le permite instalar paquetes sin tener que aprender a usar el comando install.packages () 47

    Usar las herramientas de Rstudio es, de nuevo, muy simple. En la esquina superior izquierda del panel de paquetes (Figura 4.1) verá un botón llamado “Instalar paquetes”. Si haces clic en eso, aparecerá una ventana como la que se muestra en la Figura 4.2.

    installpackage.png
    Figura 4.2: El cuadro de diálogo de instalación de paquetes en Rstudio

    Hay algunos botones y cajas diferentes con los que puedes jugar. Ignorar a la mayoría de ellos. Sólo tienes que ir a la línea que dice “Paquetes” y empieza a escribir el nombre del paquete que quieras. A medida que escribes, verás aparecer un menú desplegable (Figura 4.3), en el que se listan los nombres de los paquetes que comienzan con las letras que ha escrito hasta ahora.

    installpackage2.png
    Figura 4.3: Cuando empieces a escribir, verás un menú desplegable que sugiere una lista de posibles paquetes que quizás quieras instalar

    Puedes seleccionar de esta lista, o simplemente seguir escribiendo. De cualquier manera, una vez que tengas el nombre del paquete que deseas, haz clic en el botón de instalar en la parte inferior de la ventana. Cuando lo hagas, verás aparecer el siguiente comando en la consola R:

    install.packages("psych")

    Este es el comando R que hace todo el trabajo. R luego se va a internet, tiene una conversación con CRAN, descarga algunas cosas y las instala en tu computadora. Probablemente no te importan todos los detalles de la pequeña aventura de R en la web, pero la función install.packages () es bastante habladora, así que reporta un montón de galimatías que realmente no te interesan tanto:

    trying URL 'http://cran.rstudio.com/bin/macosx/contrib/3.0/psych_1.4.1.tgz'
    Content type 'application/x-gzip' length 2737873 bytes (2.6 Mb)
    opened URL
    ==================================================
    downloaded 2.6 Mb
    
    
    The downloaded binary packages are in
      /var/folders/cl/thhsyrz53g73q0w1kb5z3l_80000gn/T//RtmpmQ9VT3/downloaded_packages

    A pesar de la larga y tediosa respuesta, todo lo que realmente significa es “He instalado el paquete psiquiátrico”. Lo mejor me parece el humor al pequeño autómata hablador. En realidad no leo nada de esta basura, solo digo cortésmente “gracias” y vuelvo a lo que sea que estaba haciendo.

    Actualización de paquetes R y R

    De vez en cuando los autores de paquetes lanzan versiones actualizadas. Las versiones actualizadas a menudo agregan nuevas funcionalidades, corrigen errores, etc. Generalmente es una buena idea actualizar tus paquetes periódicamente. Hay una función update.packages () que puedes usar para hacer esto, pero probablemente sea más fácil seguir con la herramienta Rstudio. En el panel de paquetes, haga clic en el botón “Actualizar paquetes”. Esto abrirá una ventana que se parece a la que se muestra en la Figura 4.4. En esta ventana, cada fila se refiere a un paquete que necesita ser actualizado. Puedes decirle a R qué actualizaciones quieres instalar marcando las casillas de la izquierda. Si te sientes perezoso y solo quieres actualizar todo, haz clic en el botón “Seleccionar todo” y luego haz clic en el botón “Instalar actualizaciones”. R luego imprime mucha basura en la pantalla, descargando e instalando individualmente todos los paquetes nuevos. Esto podría tardar un tiempo en completarse dependiendo de lo buena que sea su conexión a Internet. Ve a hacer una taza de café. Vuelve, y todo va a estar bien.

    updatepackages.png
    Figura 4.4: El cuadro de diálogo de Rstudio para actualizar paquetes

    Aproximadamente cada seis meses más o menos, se lanza una nueva versión de R. No puedes actualizar R desde dentro de Rstudio (no que yo sepa, al menos): para obtener la nueva versión puedes ir al sitio web de CRAN y descargar la versión más reciente de R, e instalarla de la misma manera que lo hiciste cuando originalmente instalaste R en tu computadora. Esto solía ser un evento un poco frustrante, ya que cada vez que descargabas la nueva versión de R, perderías todos los paquetes que habías descargado e instalado, y tendrías que repetir el proceso de reinstalarlos. Esto fue bastante molesto, y había algunos trucos pulcros que podrías usar para sortear esto. Sin embargo, las versiones más nuevas de R no tienen este problema así que ya no me molesto en explicar las soluciones para ese problema.

    ¿Qué paquetes utiliza este libro?

    Hay varios paquetes que hago uso en este libro. Los más destacados son:

    • muchas herramientas interesantes de alta potencia: es solo una pequeña colección de pequeñas cosas útiles que creo que pueden ser útiles para los usuarios novatos. A medida que te sientas más cómodo con R este paquete debería empezar a sentirte bastante inútil.
    • psiquiatría. Este paquete, escrito por William Revelle, incluye una gran cantidad de herramientas que son de particular utilidad para los psicólogos. En particular, hay varias funciones que son particularmente convenientes para producir análisis o resúmenes que son muy comunes en la psicología, pero menos comunes en otras disciplinas.
    • coche. Se trata del paquete Companion to Applied Regression, que acompaña al excelente libro del mismo nombre de (Fox y Weisberg 2011). Proporciona muchas herramientas muy poderosas, solo algunas de las cuales tocaremos en este libro.

    Además de estos tres, hay una serie de paquetes que utilizo de una manera más limitada: gplots, sciplot, foreign, effects, r.matlab, gdata, lmtest, y probablemente uno o dos otros que me he perdido. También hay una serie de paquetes a los que me refiero pero que en realidad no utilizo en este libro, como reshape, compute.es, HistData y multcomp entre otros. Por último, hay una serie de paquetes que proporcionan herramientas más avanzadas de las que espero hablar en futuras versiones del libro, como sem, ez, nlme y lme4. En cualquier caso, siempre que esté usando una función que no esté en los paquetes principales, me aseguraré de anotarlo en el texto.


    This page titled 4.2: Instalación y Carga de Paquetes is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Danielle Navarro via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.