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?