【发布时间】:2014-11-24 19:06:47
【问题描述】:
我有一个包含 2 列的 cvs 文件(例如,请参见下面的矩阵 1)。我想创建一个程序来为第一列中的所有重复数字平均矩阵的第二列。因此,例如在下面的矩阵中,第一列中有两行“2”。这些行将被平均为一列 ((356+456)/2 = 406) 等。因此最终的矩阵将像底部的矩阵 2。关于如何做到这一点的任何想法?
矩阵 1
mat1 <- structure(c(1, 2, 2, 3, 4, 4, 4, 5, 234, 356, 456, 745, 568,
998, 876, 895), .Dim = c(8L, 2L))
mat1
[,1] [,2]
[1,] 1 234
[2,] 2 356
[3,] 2 456
[4,] 3 745
[5,] 4 568
[6,] 4 998
[7,] 4 876
[8,] 5 895
矩阵 2
mat2 <- structure(c(1, 2, 3, 4, 5, 234, 406, 745, 814, 895), .Dim = c(5L, 2L))
mat2
[,1] [,2]
[1,] 1 234
[2,] 2 406
[3,] 3 745
[4,] 4 814
[5,] 5 895
【问题讨论】:
-
第一列总是按数字顺序排列吗?
标签: r