Je voudrais effectuer le rang d'un vecteur de colonne dans une matrice.R - fonction de base - Rang d'un vecteur dans une matrice, par observation
je les "données" matrice suivante
> data <- matrix (c(12,43,15,17,15,23,4,50,43,6,91,8), nrow = 4, ncol = 3)
Avec des noms et la date devrait ressembler à ceci
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
sortie doit être au rang d'une variable contre d'autres variables, pour chaque observation unique (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
EDIT: Merci à Hoolihan et user20650 @ Tim, pour une matrice simple: t(apply(data, 1, function(x) rank(-x)))
Nous vous remercions de l'aide - d'un noob perdu.
On ne sait pas sur les critères de calcul de la 'rank' – akrun
Comme remarque: ceci:' 1: longueur (données [, 1]) 'se casse quand' data' est vide ou lorsque vous passez de "noob" à dplyr-user. Préférez: 'seq_len (nrow (données))' –
Chrischeese, pouvez-vous expliquer en mots comment vous voulez classer les variables s'il vous plaît – user20650