Saltar al contenido principal
LibreTexts Español

5.2: Creación o modificación de variables mediante Mutate ()

  • Page ID
    150539
  • \( \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}}\)

    A menudo vamos a querer o bien crear una nueva variable basada en una variable existente, o modificar el valor de una variable existente. Dentro del tidyverse, hacemos esto usando una función llamada mutate (). Comencemos con un ejemplo de juguete creando un marco de datos que contenga una sola variable.

    toy_df <- data.frame(x = c(1,2,3,4))
    glimpse(toy_df)
    ## Observations: 4
    ## Variables: 1
    ## $ x <dbl> 1, 2, 3, 4

    Digamos que queríamos crear una nueva variable llamada y que contendría el valor de x multiplicado por 10. Podríamos hacer esto usando mutate () y luego asignar el resultado al mismo marco de datos:

    toy_df <- toy_df %>%
      # create a new variable called y that contains x*10
      mutate(y = x*10)
    glimpse(toy_df)
    ## Observations: 4
    ## Variables: 2
    ## $ x <dbl> 1, 2, 3, 4
    ## $ y <dbl> 10, 20, 30, 40

    También podríamos sobrescribir una variable con un nuevo valor:

    toy_df2 <- toy_df %>%
      # create a new variable called y that contains x*10
      mutate(y = y + 1)
    glimpse(toy_df2)
    ## Observations: 4
    ## Variables: 2
    ## $ x <dbl> 1, 2, 3, 4
    ## $ y <dbl> 11, 21, 31, 41

    Usaremos mutate () a menudo por lo que es una función importante de entender.

    Aquí podemos usarlo con nuestro marco de datos de ejemplo para crear una nueva variable que es la suma de varias otras variables.

    myDataFrame <- 
      myDataFrame %>%
      mutate(total = x + y + z)
    
    kable(myDataFrame)
    n x y z total
    russ 1 4 7 12
    lucy 2 5 8 15
    jaclyn 3 6 9 18
    tyler 4 7 10 21

    mutate () es una función que crea una nueva variable en un marco de datos utilizando las variables existentes. En este caso, crea una variable llamada total que es la suma de las variables existentes x, y y z.

    5.2.1 Eliminar una columna usando la función select ()

    Agregar un signo menos al nombre de una variable dentro del comando select () eliminará esa variable, dejando todas las demás.

    myDataFrame <- 
      myDataFrame %>%
      dplyr::select(-total)
    
    kable(myDataFrame)
    n x y z
    russ 1 4 7
    lucy 2 5 8
    jaclyn 3 6 9
    tyler 4 7 10

    This page titled 5.2: Creación o modificación de variables mediante Mutate () 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.