> library(reshape2)
> a a
num ani dam b1 b2 b3 b4
1 1 a x 33 44 45 55
2 2 b y 44 33 33 66
3 3 c z 66 22 55 77
> b b
num ani dam variable value
1 1 a x b1 33
2 2 b y b1 44
3 3 c z b1 66
4 1 a x b2 44
5 2 b y b2 33
6 3 c z b2 22
7 1 a x b3 45
8 2 ...
> library(reshape2)
> a <- data.frame(num=c(1,2,3),
+ ani=c("a","b","c")
+ ,dam= c("x","y","z"),
+ b1=c(33,44,66),
+ b2=c(44,33,22),
+ b3=c(45,33,55),
+ b4=c(55,66,77))
> a
num ani dam b1 b2 b3 b4
1 1 a x 33 44 45 55
2 2 b y 44 33 33 66
3 3 c z 66 22 55 77
> b <- melt(a,id=c("num","ani","dam"))
> b
num ani dam variable value
1 1 a x b1 33
2 2 b y b1 44
3 3 c z b1 66
4 1 a x b2 44
5 2 b y b2 33
6 3 c z b2 22
7 1 a x b3 45
8 2 b y b3 33
9 3 c z b3 55
10 1 a x b4 55
11 2 b y b4 66
12 3 c z b4 77
> a1<-dcast(b,num+ani+dam~variable)
> a1
num ani dam b1 b2 b3 b4
1 1 a x 33 44 45 55
2 2 b y 44 33 33 66
3 3 c z 66 22 55 77