Data:
set.seed(0)
date <- rep(1:4,3)
N <- length(date)
A <- rnorm(N)
B <- rnorm(N)
C <- rnorm(N)
mydata <- data.frame(date, A, B, C)
date A B C
1 1 1.262954285 -1.1476570 -0.05710677
2 2 -0.326233361 -0.2894616 0.50360797
3 3 1.329799263 -0.2992151 1.08576936
4 4 1.272429321 -0.4115108 -0.69095384
5 1 0.414641434 0.2522234 -1.28459935
6 2 -1.539950042 -0.8919211 0.04672617
7 3 -0.928567035 0.4356833 -0.23570656
8 4 -0.294720447 -1.2375384 -0.54288826
9 1 -0.005767173 -0.2242679 -0.43331032
10 2 2.404653389 0.3773956 -0.64947165
and this is what I am trying to achieve:
date name value
1 A 1.262954285
1 B -1.1476570
1 C -0.05710677
2 A -0.326233361
2 B -0.2894616
2 C 0.50360797
... ... ...
I believe that I am supposed to use melt()
, but I get something a bit different:
> M <- melt(mydata,id.vars = "date")
> head(M)
date variable value
1 1 A 1.2629543
2 2 A -0.3262334
3 3 A 1.3297993
4 4 A 1.2724293
5 1 A 0.4146414
6 2 A -1.5399500
Can I tweak melt()
somehow to get it right?