【发布时间】:2017-07-28 13:12:05
【问题描述】:
鉴于我有一个三乘三系统矩阵。
> x<-matrix(1:9,3)
> x[lower.tri(x)] = t(x)[lower.tri(x)]
> x
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 4 5 8
[3,] 7 8 9
然后我应用库reshape2 使其成为长格式。
> library(reshape2)
> x <- melt(x)
> x
Var1 Var2 value
1 1 1 1
2 2 1 4
3 3 1 7
4 1 2 4
5 2 2 5
6 3 2 8
7 1 3 7
8 2 3 8
9 3 3 9
由于上对角线和下对角线相同,我只需要一半的结果,如下所示。
Var1 Var2 value
1 1 1
2 1 4
3 1 7
2 2 5
3 2 8
3 3 9
有什么优雅的方法可以做到这一点?
【问题讨论】:
标签: r