Supposons que j'ai Comment puis-je régler ceci dans ci-dessous? p> c'est-à-dire, d'abord par colonne une, puis par colonne deux, etc. p> p>
4 Réponses :
Cela fonctionnerait: ce qu'il fait est: p> sauf s'il permet un nombre arbitraire de colonnes dans la matrice . p> p>
La dernière commande de colonne n'est-elle pas redondante? C'est à dire. 1: (NCOL (ARR) -1) ferait la même chose.
Non, pas dans toutes les matrices, telles que arr = matrice (C (1, 1, 1, 1, 1, 1, 3, 2, 1), nrow = 3) code>
La fonction que vous êtes après est regarder commander code> (comment je suis arrivé à cette conclusion - ma première pensée était "Eh bien, trier, Qu'en est-il de trier code>?". Essayé Trier (Arr) Code> qui ressemble à la tresse ARR code> comme vecteur au lieu de la ligne de ligne. En regardant ? Trier code>, je vois dans le " Voir aussi: Commander Code> Pour trier sur ou réorganiser Plusieurs variables fortes>. "). ? Commande code>, je vois que Commande (x, y, z, ...) code> commandera par x code>, briser les cravates par y code>, brisant d'autres cravates par z code>, et ainsi de suite. Super - tout ce que je dois faire est de passer dans chaque colonne de Art code> à commander code> pour le faire. (Il existe même un exemple pour cela dans la section Exemples de ? Commande Code>): P> arr[ do.call( order, as.list(as.data.frame(arr)) ), ]
J'ai écrit ce petit func qui a diminué l'ordre aussi
Les cols permettent de choisir les colonnes à commander et à leur commande
J'ai eu un problème similaire et la solution semble être simple et élégante: