R: How to Use pivot_longer() on All Columns

The pivot_longer() function from the tidyr package in R can be used to pivot a data frame from a wide format to a long format.

If you’d like to use this function to pivot all of the columns in the data frame into a long format, you can use the following syntax:


df_long <- pivot_longer(df, cols = everything())

Note that the cols argument specifies which columns to pivot and everything() specifies that we want to pivot every column.

The following example shows how to use this function in practice.

Related: Long vs. Wide Data: What’s the Difference?

Example: Use pivot_longer() on All Columns in R

Suppose we have the following data frame in R that shows the number of points scored by various basketball players during three different games:

#create data frame
df <- data.frame(game1=c(20, 30, 33, 19, 22, 24),
                 game2=c(12, 15, 19, 19, 20, 14),
                 game3=c(22, 29, 18, 12, 10, 11))

#view data frame

  game1 game2 game3
1    20    12    22
2    30    15    29
3    33    19    18
4    19    19    12
5    22    20    10
6    24    14    11

The data frame is currently in a wide format.

However, suppose we’d like to pivot the data frame to a long format by pivoting all three columns.

We can use the following syntax to do so:


#pivot all columns into long data frame
df_long <- pivot_longer(df, cols = everything())

#view long data frame

# A tibble: 18 x 2
   name  value
 1 game1    20
 2 game2    12
 3 game3    22
 4 game1    30
 5 game2    15
 6 game3    29
 7 game1    33
 8 game2    19
 9 game3    18
10 game1    19
11 game2    19
12 game3    12
13 game1    22
14 game2    20
15 game3    10
16 game1    24
17 game2    14
18 game3    11

Notice that the column names game1, game2 and game3 are now used as values in a new column called “name” and the values from these original columns are placed into one new column called “value.”

The final result is a long data frame.

Note: You can find the complete documentation for the pivot_longer() function here.

Additional Resources

The following tutorials explain how to use other common functions in the tidyr package in R:

How to Use pivot_wider() in R
How to Use Spread Function in R
How to Use Gather Function in R
How to Use Separate Function in R
How to Use the Unite Function in R

Leave a Reply

Your email address will not be published. Required fields are marked *