The spread()
function from the tidyr
library can be helpful to spread a key-value pair across different columns. This function also helps reshape the data from long format to wide format.
This function works exactly opposite of gather(). So, it is used contrarily. Moreover, gather()
is used to merge multiple columns and collapse them into key-value pairs. While spread()
lays out each key-value pair across multiple columns.
In the above illustration, spread()
will split key=genus
and value=mean_weight
into Baiomys, Chaetodipus and Dipodomys features. It will convert a long format data into a wider form.
spread(data, key, value)
data
: This shows the name of the DataFrame.key
: This shows the column whose values will become the names of variables or newly created columns.value
: This contains the single column values for converting to multiple columns’ values. Thus, these values of a single column are used to fill the columns created through the specified key.It returns a DataFrame or List, depending upon data
(argument value).
Let's discuss a coding example regarding the spread method. We'll create a DataFrame and then invoke spread()
to separate gather information.
# Demo program to how spread() working# including tidyr librarylibrary("tidyr")# creating a DataFramedf <- data.frame(player_category=rep(c('A', 'B'), each=4),experience_in_years=rep(c(1, 1, 2, 2), times=2),statistics=rep(c('points', 'assists'), times=4),amount=c(13, 7, 10, 3, 21, 8, 58, 2))# show DataFrame on consoleprint(df)# Invoking spread() function# spreading statistics column across multiple columnsspread(df, key=statistics, value=amount)
spread()
method to split the values of the statistics column into different unique columns.