es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo utilizar pivot_longer para guardar en múltiples columnas?

Assumiendo que tengo un df similar a este:

Una tabla: 5 x 6

 x1    x2    x3    y1    y2    y3 


1 4 3 2 4 3 2
2 4 3 2 4 3 2
3 4 3 2 4 3 2
4 4 3 2 4 3 2
5 4 3 2 4 3 2

¿Hay alguna manera de crear una tibble con las columnas x, y, z en un solo comando de pivotlonger?, ahora mismo estoy usando una línea de pivotlonger para cada grupo de columnas, pero estoy seguro de que hay una manera más fácil de conseguirlo.

  x     y     z


1 4 4 1
2 4 4 1
3 4 4 1
4 4 4 1
5 4 4 1
6 3 3 2
7 3 3 2
8 3 3 2
9 3 3 2
10 3 3 2
11 2 2 3
12 2 2 3
13 2 2 3
14 2 2 3
15 2 2 3

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, se puede usar un solo comando pivot_longer para crear un tibble con las columnas x, y, z. Se puede utilizar el argumento names_sep para especificar el separador entre los nombres de columna y los valores de columna. Por ejemplo, el siguiente código creará el tibble deseado:

    df %>% 
      pivot_longer(cols = c(x1:x3, y1:y3), 
                   names_to = c(".value", "z"), 
                   names_sep = "")
    

Comments are closed.