Modérateur : Groupe des modérateurs
Code : Tout sélectionner
f <- data.frame(ann2003=1:2,ann1999=2:1,ann2001=2:1)
df
ann2003 ann1999 ann2001
1 1 2 2
2 2 1 1
df[,order(names(df))]
ann1999 ann2001 ann2003
1 2 2 1
2 1 1 2
Code : Tout sélectionner
df <- data.frame(bb = 3:4,ann2003=1:2,ann1999=2:1,ann2001=2:1)
df
bb ann2003 ann1999 ann2001
1 3 1 2 2
2 4 2 1 1
df[,order(names(df))]
ann1999 ann2001 ann2003 bb
1 2 2 1 3
2 1 1 2 4
Code : Tout sélectionner
nbcol <- ncol(df)
df[, c(1,order(names(df)[2:nbcol]))]
bb ann2003 ann1999 bb.1
1 3 1 2 3
2 4 2 1 4
Code : Tout sélectionner
df <- data.frame(ann2003=1:2,ann1999=2:1,ann2001=2:1)
names(df) <- sub("ann", "", names(df))
df
2003 1999 2001
1 1 2 2
2 2 1 1
df$2003
Erreur : unexpected numeric constant in "df$2003"
df$`2003`
[1] 1 2
Gabriel Terraz a écrit :On garde la première colonne au début :Code : Tout sélectionner
nbcol <- ncol(df)
df[, c(1, order(names(df)[2:nbcol]))]
bb ann2003 ann1999 bb.1
1 3 1 2 3
2 4 2 1 4
Code : Tout sélectionner
df[ , c(1, order(names(df)[2:nbcol]) + 1)]
# bb ann1999 ann2001 ann2003
# 1 3 2 2 1
# 2 4 1 1 2
Code : Tout sélectionner
df <- data.frame(bb = 3:4, ann2003=13:14, ann1999=2:1, ab=1:2, ann2001=20:21, aa = 4:5)
indices_ann <- grep("^ann\\d+$", names(df))
col_tri <- names(df)
col_tri[indices_ann] <- sort(names(df)[indices_ann])
df[ , col_tri]
Code : Tout sélectionner
df[, c(1:2, order(names(df)[3:nbcol])+2)]
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité