-2

I have data with ID and multiple columns. I want to convert this data into a long type. And I want to remove duplicates. I want to apply his process on data with 1 Million rows is there any efficient method?

Before:
enter image description here

After:
enter image description here

abdkumar
  • 142
  • 1
  • 2
  • 10
  • 1
    Have you looked at https://stackoverflow.com/questions/2185252/reshaping-data-frame-from-wide-to-long-format? – Peter Apr 15 '20 at 07:28
  • 1
    Please don't add images of the data, add a reproducible example using `dput`. Please read the info about [how to ask a good question](http://stackoverflow.com/help/how-to-ask) and how to give a [reproducible example](http://stackoverflow.com/questions/5963269). – Ronak Shah Apr 15 '20 at 07:43

2 Answers2

1

You cna use reshape2::melt (or the enhanced melt method on data.table objects):

reshape2::melt(df, id.vars = "cust_id")

You can also use tidyr::pivot_longer:

library(dplyr)
library(tidyr)
df %>%
 pivot_longer(-cust_id)
linog
  • 5,786
  • 3
  • 14
  • 28
1

melt(dataframe, measure.vars = c("trans","Alt1","Alt2"), variable.name = "variable_names" , value.name = "value")
ps_st
  • 33
  • 6