Déplacer une colonne à la première position dans un bloc de données
Je voudrais avoir la dernière colonne de la trame de données de déplacés au début (comme première colonne). Comment puis-je le faire dans la R?
Mes données.cadre a environ un millier de colonnes pour modifier l'ordre habitude. Je veux juste choisir une colonne et "déplacer vers le début".
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas si ça vaut la peine d'ajouter ce que une réponse, ou si un commentaire ce serait bien, mais j'ai écrit une fonction appelée
moveme
qui permet de faire ce que vous voulez faire avec la langue que vous décrivez. Vous pouvez trouver la fonction à cette réponse: https://stackoverflow.com/a/18540144/1270695Il fonctionne sur le
names
de votredata.frame
et produit un caractère de vecteur que vous pouvez utiliser pour modifier l'ordre des colonnes:Si vous êtes de brassage des choses comme ça, je vous suggère de conversion de votre
data.frame
à undata.table
et à l'aide desetcolorder
(avec monmoveme
fonction, si vous le souhaitez) pour faire le changement par référence.Dans votre question, vous avez également mentionné que "je veux juste de choisir une colonne et le déplacer vers le début". Si c'est un arbitraire de la colonne, et non pas spécifiquement à la dernière, vous pouvez également regarder à l'aide de
setdiff
.Imaginez que vous travaillez avec le "mtcars" dataset et que vous voulez déplacer le "suis" colonne le début.
Dplyr select() approche
Le déplacement de la dernière colonne pour le départ:
Ceci est également valable pour n'importe quelle colonne et n'importe quelle quantité:
Exemple à l'aide de
mtcars
trame de données:Vous pouvez modifier l'ordre des colonnes en les résoudre dans l'ordre nouveau en choisissant explicitement avec
data[,c(ORDER YOU WANT THEM TO BE IN)]
Si vous voulez juste la dernière colonne à la première utilisation:
data[,c(ncol(data),1:(ncol(data)-1))]
data[,c(ncol(data),1:(ncol(data)-1))]
cela vous permettra de déplacer votre dernière colonne, c'est à dire 1000e colonne de la première colonne.
Si vous souhaitez déplacer un nom de colonne à la première position, il suffit d'utiliser: