0

I have the following data.

 data <- matrix(c(13.54576,"B","B","B","A","B","A","A", 12.48550, "B","A","B","NA","B","B","B", 12.57386, "B","A","B","B","B","NA","A", 12.11360, "B","A","A","B","B","A","B", 13.51943, "B","A","B","B","B","A","NA", 12.64847, "B","B","B","NA","B","B","B", 12.97495, "B","NA","B","NA","B","A","B", 12.99729, "A","A","B","NA","B","B","B", 12.84192, "NA","B","A","B","B","B","B", 13.09035, "B","B","B","B","B","B","B"),ncol=8,byrow=TRUE)
 colnames(data) <- c("value","P","Q", "R", "S", "T", "U", "V")
 data <- data.frame(data)

This looks like this:

       value  P  Q R  S T  U  V
 1  13.54576  B  B B  A B  A  A
 2   12.4855  B  A B NA B  B  B
 3  12.57386  B  A B  B B NA  A
 4   12.1136  B  A A  B B  A  B
 5  13.51943  B  A B  B B  A NA
 6  12.64847  B  B B NA B  B  B
 7  12.97495  B NA B NA B  A  B
 8  12.99729  A  A B NA B  B  B
 9  12.84192 NA  B A  B B  B  B
 10 13.09035  B  B B  B B  B  B

I would like to reshape the data to obtain this desired output:

    value   var1    var2
 1  13.54576    P   B
 2  13.54576    Q   B
 3  13.54576    R   B
 4  13.54576    S   A
 5  13.54576    T   B
 6  13.54576    U   A
 7  13.54576    V   A
 8  12.48550    P   B
 9  12.48550    Q   A
 10 12.48550    R   B
 11 12.48550    S   NA
 12 12.48550    T   B
 13 12.48550    U   B
 14 12.48550    V   B
 etc...

I spent a lot of time reading blogs and answers here on SO, and trying to understand how to get this done using melt cast reshape and I tried numerous variations, but I am pulling my hair out. Might anyone please help?

Sylvia Rodriguez
  • 1,203
  • 2
  • 11
  • 30

0 Answers0