0

I have a data frame myDf which looks like:

myDf = data.frame(
  a = c(1,1),
  b = c('A','B'),
  d = c(10,15),
  e = c(0,5)
)

Now I need to transpose column b such that my new data frame would like

myDf_transposed = data.frame(
  a = 1,
  A_d = 10,
  A_e = 0,
  B_d = 15,
  B_e = 5
)

I have tried:

library(reshape2)
myDf_tansposed <- recast(myDf, a  ~ b, id.var = c("b", "a","d","e"))

It transpose column b but I get warning

Using 'e' as value column: use value.var to override.

Ronak Shah
  • 377,200
  • 20
  • 156
  • 213

1 Answers1

0

We can use dcast from data.table which can take multiple value.var columns

library(data.table)
dcast(setDT(myDf), a~b, value.var = c('d', 'e'))
akrun
  • 874,273
  • 37
  • 540
  • 662