Disons que j'ai un data.frame Je voudrais trier x par colonnes B et C mais garder l'ordre de A comme avant. y a-t-il un moyen rapide de le faire? P> Actuellement, je cours "pour" en boucle et triez chaque sous-ensemble, je suis sûr qu'il doit y avoir une meilleure façon. P> Merci!
Ilya p> p> x [commande (x $ b, x $ c),] code> - brise l'ordre de la colonne a. C'est ce que je veux: p>
3 Réponses :
Si la colonne "A" est déjà commandée, alors c'est ce simple: si la colonne A n'est pas commandée (mais est regroupée), créez un nouveau facteur avec les niveaux de x $ A et utiliser cela. P> p>
colonne "A" non ordonnée, mais groupée. Ordre de "a" dans data.frame est important.
Ça désigne premier x $ A sera trié puis x $ B basé sur x $ a, puis x $ C basé sur x $ A et x $ b, n'est-ce pas?
Merci spaçadman! Votre recommandation fonctionne bien.
x$a <- factor(x$a, levels = unique(x$a)) x[order(x$a,x$b, x$c),]
Vision qui échoue si x $ a est b b b a C c a d d d d - mais s'il est complètement groupé, alors vous avez terminé.
Dans mon ensemble de données, il ne pouvait pas être séparé en groupes.
Je pense que vous avez eu la mauvaise idée des facteurs. Le spaCedman de commande a été mentionné commandé dans les niveaux. commandé = true code> produit un facteur commandé B>, qui est un type de facteur spécial dans lequel il existe une commande semi-quantitative. Ce type de facteur est hors de propos du problème ici.
Probablement. Je ne suis pas vraiment familier avec des facteurs. Merci de clarification.
require(doBy) orderBy(~ a + b + c, data=x)
Celui-ci changera l'ordre de la colonne A