melt()
long を生成するために使用できる R の 3 次元配列がありますdata.frame
。
library(abind)
library(reshape2)
a = matrix(1:4, nrow=2, ncol=2)
x = abind(a, a, along=3)
y = melt(x)
y
これにより、次の結果が得られます。
Var1 Var2 Var3 value
1 1 1 1 1
2 2 1 1 2
3 1 2 1 3
4 2 2 1 4
5 1 1 2 1
6 2 1 2 2
7 1 2 2 3
8 2 2 2 4
データを元の配列に戻すにはどうすればよいですか? で動作するはずacast
ですが、適切な引数が見つかりません:
y['idx'] = rownames(y)
acast(y, idx~Var1+Var2+Var3, value.var='value') # does not work this way