我有一个使用reshape包melt后的数据框,我想要"un melt"
这里有一个融合后数据的玩具示例(真实数据框的大小为500x100或更大):
variable<-c(rep("X1",3),rep("X2",3),rep("X3",3))
value<-c(rep(rnorm(1,.5,.2),3),rep(rnorm(1,.5,.2),3),rep(rnorm(1,.5,.2),3))
dat <-data.frame(variable,value)
dat
variable value
1 X1 0.5285376
2 X1 0.5285376
3 X1 0.5285376
4 X2 0.1694908
5 X2 0.1694908
6 X2 0.1694908
7 X3 0.7446906
8 X3 0.7446906
9 X3 0.7446906
每个变量(X1,X2,X3)在三个不同的时间点上有不同的值(在这个示例中恰好相同,但实际情况从未发生过)。
我希望将其以以下形式呈现:
X1 X2 X3
1 0.5285376 0.1694908 0.7446906
2 0.5285376 0.1694908 0.7446906
3 0.5285376 0.1694908 0.7446906
基本上,我希望变量列按ID (X1、X2等)排序并成为列标题。我尝试了各种排列组合的 cast、dcast、recast 等方法,但似乎无法得到所需的数据格式。将数据从宽格式转换为长格式(例如 dat 数据集)很容易,但是却很难恢复原样。有什么想法吗?我知道这相对简单,但我很难概念化如何在 reshape 或 reshape2 中完成。
谢谢, LP