r - Transform multi dimensional array into factored data frame -
i have results tapply function creates array (with module names, animal names (rows) , test days (columns)) this
,, module1 [,d1] [,d2] [,d3] [,d4] [a1,] 1 3 2 1 [a2,] 2 1 3 2 ,, module3 [,d1] [,d2] [,d3] [,d4] [a1,] 1 3 2 1 [a2,] 2 1 3 2 ,, module3 [,d1] [,d2] [,d3] [,d4] [a1,] 1 3 2 1 [a2,] 2 1 3 2
what transform data frame module name , dimension names factors in data frame such this:
module1 d1 a1 1 module1 d1 a2 2 module1 .. module3 d4 a1 1 module3 d4 a2 2 etc
which can use ggplot , other functions. there packaged/function let me this?
here's 1 way using plyr
, reshape2
:
adply(a, 3, function(x) melt(cbind(names=rownames(x), as.data.frame(x)))) # x1 names variable value # 1 module1 a1 d1 1 # 2 module1 a2 d1 2 # 3 module1 a1 d2 3 # 4 module1 a2 d2 1 # 5 module1 a1 d3 2 # 6 module1 a2 d3 3 # 7 module1 a1 d4 1 # 8 module1 a2 d4 2 # 9 module2 a1 d1 1 # 10 module2 a2 d1 2 # 11 module2 a1 d2 3 # 12 module2 a2 d2 1 # 13 module2 a1 d3 2 # 14 module2 a2 d3 3 # 15 module2 a1 d4 1 # 16 module2 a2 d4 2 # 17 module3 a1 d1 1 # 18 module3 a2 d1 2 # 19 module3 a1 d2 3 # 20 module3 a2 d2 1 # 21 module3 a1 d3 2 # 22 module3 a2 d3 3 # 23 module3 a1 d4 1 # 24 module3 a2 d4 2
Comments
Post a Comment