Supposons que j'ai m gènes d'intérêt et n échantillons. Je note la mutation d'un gène à 1 et la non-mutation à 0, de sorte que j'ai une matrice m x n. Je veux un algorithme qui ordonne les données de façon à pouvoir reproduire le graphique matriciel ci-dessous. Je vais coder cela en R, donc le code est le bienvenu mais pas nécessaire.
En clair, je commence par ordonner les rangées de telle sorte que la rangée comportant le plus de mutations dans tous les échantillons soit en haut :
data.mutations <- data.mutations[order(rowSums(data.mutations), decreasing = TRUE), ]
Mais je n'arrive pas à trouver comment trier les colonnes. La première étape est facile, je trie les colonnes par la première ligne :
data.mutations <- data.mutations[ , order(data.mutations[1, ], decreasing = TRUE)]
Maintenant, je suis coincé. Une approche naïve nécessiterait beaucoup de boucles. Il doit y avoir une solution plus sympa.