R : Convert Data from Wide to Long Format

This tutorial explains how to convert data from wide to long format with R programming.
R Code : Convert Data from Wide to Long
Note : Before running the code below, Install reshape2 package if not installed already.

R Code

The following program would create a sample data for demonstration.
df = read.table(text= "ID Product1 Product2 Product3 Product4
1 1 NA 1 1
2 1 1 NA 1
3 1 1 NA NA
4 1 1 1 1", header=TRUE)
The following code would turn our data from wide to long format.
x = colnames(df[,-1])
t2 <- melt(df,id.vars = "ID",measure.vars = x , variable.name="Product", value.name="value",na.rm = TRUE)
t2 = t2[order(t2$ID),]

Explanation :

  1. id.vars - additional variables to keep in the output.
  2. measure.vars - variables to be reshaped
  3. variable.name - name of variable used to store measured variable names
  4. value.name - name of variable used to store values

Note : If you do not want to remove NA values, make na.rm = TRUE to na.rm = FALSE.

Tutorial : Convert data from long to wide format
Related Posts
About Author:

Deepanshu founded ListenData with a simple objective - Make analytics easy to understand and follow. He has over 8 years of experience in data science. During his tenure, he has worked with global clients in various domains like Banking, Insurance, Telecom and Human Resource.

1 Response to "R : Convert Data from Wide to Long Format"

Next → ← Prev
Love this Post? Spread the Word!