R - 基本函数 - 通过观察矩阵中向量的等级
R - basic function - Rank of a vector within a matrix, by observation
我想对矩阵中的列向量进行排序。
我有以下矩阵"data"
> data <- matrix (c(12,43,15,17,15,23,4,50,43,6,91,8), nrow = 4, ncol = 3)
名字和日期应该是这样的
Date Obs y1 y2 y3
2014 1 12 15 43
2014 2 43 23 6
2013 1 15 4 91
2013 2 17 50 8
输出应该是一个变量相对于其他变量的排名,对于每个独特的观察 (date*Obs)
Date Obs formula(y1) formula(y2) formula(y3)
2014 1 3 2 1
2014 2 1 2 3
2013 1 2 3 1
2013 2 2 1 3
编辑:感谢@Tim Hoolihan 和 user20650,一个简单的矩阵是:
t(apply(data, 1, function(x) rank(-x)))
感谢您的帮助 - 来自一个迷路的菜鸟。
使用 apply 遍历行并对它们进行排名:
> data <- matrix (c(12,43,15,17,15,23,4,50,43,6,91,8), nrow = 4, ncol = 3)
> t(apply(data, 1, function(x) rank(-x)))
[,1] [,2] [,3]
[1,] 3 2 1
[2,] 1 2 3
[3,] 2 3 1
[4,] 2 1 3
我想对矩阵中的列向量进行排序。
我有以下矩阵"data"
> data <- matrix (c(12,43,15,17,15,23,4,50,43,6,91,8), nrow = 4, ncol = 3)
名字和日期应该是这样的
Date Obs y1 y2 y3
2014 1 12 15 43
2014 2 43 23 6
2013 1 15 4 91
2013 2 17 50 8
输出应该是一个变量相对于其他变量的排名,对于每个独特的观察 (date*Obs)
Date Obs formula(y1) formula(y2) formula(y3)
2014 1 3 2 1
2014 2 1 2 3
2013 1 2 3 1
2013 2 2 1 3
编辑:感谢@Tim Hoolihan 和 user20650,一个简单的矩阵是:
t(apply(data, 1, function(x) rank(-x)))
感谢您的帮助 - 来自一个迷路的菜鸟。
使用 apply 遍历行并对它们进行排名:
> data <- matrix (c(12,43,15,17,15,23,4,50,43,6,91,8), nrow = 4, ncol = 3)
> t(apply(data, 1, function(x) rank(-x)))
[,1] [,2] [,3]
[1,] 3 2 1
[2,] 1 2 3
[3,] 2 3 1
[4,] 2 1 3