0

My name is in the format:

  V1      V2     V3     V4      V5       V6      V7
NICK   PIPE   10 IN  PAINT   GREEN    SCREW   0.5 IN
MIKE   PAINT   RED   TOOL    HAMMER    PIPE    3 IN

I want to use the melt function so that the data would appear like this:

V1      V2     V3
NICK   PIPE   10 IN
NICK   PAINT  GREEN
NICK   SCREW   0.5 IN
MIKE   PAINT   RED
MIKE   TOOL    HAMMER
MIKE   PIPE    3 IN
akrun
  • 874,273
  • 37
  • 540
  • 662
Cimm
  • 17
  • 1

1 Answers1

0

We can use base R methods to reshape it to the 'long' format

data.frame(V1 = rep(df1$V1, each = 3),
           V2= c(t(df1[-1][c(TRUE, FALSE)])), 
           V3 = c(t(df1[-1][c(FALSE, TRUE)])))
#    V1    V2     V3
#1 NICK  PIPE  10 IN
#2 NICK PAINT  GREEN
#3 NICK SCREW 0.5 IN
#4 MIKE PAINT    RED
#5 MIKE  TOOL HAMMER
#6 MIKE  PIPE   3 IN
akrun
  • 874,273
  • 37
  • 540
  • 662