gpt4 book ai didi

r - 重复行的矩阵平均

转载 作者:行者123 更新时间:2023-12-04 12:29:48 25 4
gpt4 key购买 nike

我有一个包含 2 列的 cvs 文件(例如,请参见下面的矩阵 1)。我想创建一个程序来平均矩阵的第二列第一列中的所有重复数字。因此,例如在下面的矩阵中,第一列中有两行“2”。这些行将被平均到 ((356+456)/2 = 406) 等的一列中。因此最终矩阵希望 Matrix 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:

> x <- tapply(mat1[,2], mat1[,1], mean)
> matrix(c(as.integer(names(x)), x), ncol = 2)

关于r - 重复行的矩阵平均,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27112289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com