Saltar al contenido principal
LibreTexts Español

5.1: Introducción al Tidyverse

  • Page ID
    150540
  • \( \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 este capítulo vamos a introducir una forma de trabajar con datos en R que a menudo se conoce como el “Tidyverse”. Esto comprende un conjunto de paquetes que proporcionan diversas herramientas para trabajar con datos, así como algunas formas especiales de usar esas funciones

    5.1.1 Hacer un marco de datos usando tibble ()

    El tidyverse proporciona su versión sobre de un marco de datos, que se conoce como tibble. Un tibble es un marco de datos pero con algunos ajustes inteligentes que facilitan el trabajo, especialmente cuando se usan funciones del tidyverse. Consulta aquí para más información sobre la función tibble (): https://r4ds.had.co.nz/tibbles.html

    # first create the individual variables
    n <- c("russ", "lucy", "jaclyn", "tyler")
    x <- c(1, 2, 3, 4)
    y <- c(4, 5, 6, 7)
    z <- c(7, 8, 9, 10)
    
    # create the data frame
    myDataFrame <-
      tibble(
        n, #list each of your columns in the order you want them
        x,
        y,
        z
      )
    
    myDataFrame
    ## # A tibble: 4 x 4
    ##   n          x     y     z
    ##   <chr>  <dbl> <dbl> <dbl>
    ## 1 russ       1     4     7
    ## 2 lucy       2     5     8
    ## 3 jaclyn     3     6     9
    ## 4 tyler      4     7    10

    Eche un vistazo rápido a las propiedades del marco de datos usando glimpse ():

    glimpse(myDataFrame) 
    ## Observations: 4
    ## Variables: 4
    ## $ n <chr> "russ", "lucy", "jaclyn", "tyler"
    ## $ x <dbl> 1, 2, 3, 4
    ## $ y <dbl> 4, 5, 6, 7
    ## $ z <dbl> 7, 8, 9, 10

    5.1.2 Selección de un elemento

    Hay varias formas de acceder a los contenidos dentro de un marco de datos.

    5.1.2.1 Seleccionar una fila o columna por nombre

    myDataFrame$x
    ## [1] 1 2 3 4

    El primer índice se refiere a la fila, el segundo a la columna.

    myDataFrame[1, 2]
    ## # A tibble: 1 x 1
    ##       x
    ##   <dbl>
    ## 1     1
    myDataFrame[2, 3]
    ## # A tibble: 1 x 1
    ##       y
    ##   <dbl>
    ## 1     5

    5.1.2.2 Selección de una fila o columna por índice

    myDataFrame[1, ]
    ## # A tibble: 1 x 4
    ##   n         x     y     z
    ##   <chr> <dbl> <dbl> <dbl>
    ## 1 russ      1     4     7
    myDataFrame[, 1]
    ## # A tibble: 4 x 1
    ##   n     
    ##   <chr> 
    ## 1 russ  
    ## 2 lucy  
    ## 3 jaclyn
    ## 4 tyler

    5.1.2.3 Seleccionar un conjunto de filas

    myDataFrame %>% 
      slice(1:2) 
    ## # A tibble: 2 x 4
    ##   n         x     y     z
    ##   <chr> <dbl> <dbl> <dbl>
    ## 1 russ      1     4     7
    ## 2 lucy      2     5     8

    slice () es una función que selecciona las filas en función de su número de fila.

    También notarás algo que no hemos discutido antes: %>%. Esto se llama “pipa”, que se usa comúnmente dentro del tidyverse; puedes leer más aquí. Una tubería toma la salida de un comando y la alimenta como entrada al siguiente comando. En este caso, simplemente escribir el nombre del marco de datos (MyDataFrame) hace que se introduzca en el comando slice () que sigue a la tubería. El beneficio de las tuberías se hará especialmente evidente cuando queremos comenzar a encadenar múltiples operaciones de procesamiento de datos en un solo comando.

    En este ejemplo, no se crea ninguna nueva variable - la salida se imprime en la pantalla, tal como sería si escribieras el nombre de la variable. Si quisieras guardarlo en una nueva variable, usarías el operador de asignación <-, así:

    myDataFrameSlice <- myDataFrame %>% 
      slice(1:2) 
    
    myDataFrameSlice
    ## # A tibble: 2 x 4
    ##   n         x     y     z
    ##   <chr> <dbl> <dbl> <dbl>
    ## 1 russ      1     4     7
    ## 2 lucy      2     5     8

    5.1.2.4 Seleccionar un conjunto de filas basado en valores específicos

    myDataFrame %>% 
      filter(n == "russ")
    ## # A tibble: 1 x 4
    ##   n         x     y     z
    ##   <chr> <dbl> <dbl> <dbl>
    ## 1 russ      1     4     7

    filter () es una función que conserva solo aquellas filas que cumplen con los criterios establecidos. También podemos filtrar por múltiples criterios a la vez; en este ejemplo, el símbolo | indica “o”:

    myDataFrame %>% 
      filter(n == "russ" | n == "lucy")
    ## # A tibble: 2 x 4
    ##   n         x     y     z
    ##   <chr> <dbl> <dbl> <dbl>
    ## 1 russ      1     4     7
    ## 2 lucy      2     5     8

    5.1.2.5 Seleccionar un conjunto de columnas

    myDataFrame %>% 
      select(x:y)
    ## # A tibble: 4 x 2
    ##       x     y
    ##   <dbl> <dbl>
    ## 1     1     4
    ## 2     2     5
    ## 3     3     6
    ## 4     4     7

    select () es una función que selecciona solo aquellas columnas que especifique usando sus nombres

    También puede especificar un vector de columnas a seleccionar.

    myDataFrame %>% 
      select(c(x,z))
    ## # A tibble: 4 x 2
    ##       x     z
    ##   <dbl> <dbl>
    ## 1     1     7
    ## 2     2     8
    ## 3     3     9
    ## 4     4    10

    5.1.3 Agregar una fila o columna

    agregar una fila con nombre

    tiffanyDataFrame <-
      tibble(
        n = "tiffany",
        x = 13,
        y = 14,
        z = 15
      )
    
    myDataFrame %>% 
      bind_rows(tiffanyDataFrame)
    ## # A tibble: 5 x 4
    ##   n           x     y     z
    ##   <chr>   <dbl> <dbl> <dbl>
    ## 1 russ        1     4     7
    ## 2 lucy        2     5     8
    ## 3 jaclyn      3     6     9
    ## 4 tyler       4     7    10
    ## 5 tiffany    13    14    15

    bind_rows () es una función que combina las filas de otro marco de datos al marco de datos actual


    This page titled 5.1: Introducción al Tidyverse is shared under a not declared license and was authored, remixed, and/or curated by Russell A. Poldrack via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.