Réordonner les colonnes dataframe tout en ignorant des colonnes non identifiées
Question
Je pense il doit y avoir une meilleure façon de le faire.
Je suis en train de réorganiser les colonnes dans une trame de données. J'ai une liste, ordered.colnames
, ce qui représente la nouvelle commande - mais certaines des colonnes n'existent pas dataset
. Pour éviter l'erreur « undefined columns selected
», je l'ai enveloppé le découpage correspondant dans une fonction try()
.
La méthode suivante fonctionne, mais est-il une meilleure façon de le faire?
> ordered.colnames[1:5]
[1] "lady_22102" "attentions_83249" "perseverance_17864"
[4] "cecil_84477" "cecilia_133476"
dataset.reordered = c()
for (i in 1:length(ordered.colnames)) {
col = NA
col = try(cbind(dataset[,ordered.colnames[i]]),silent=TRUE)
if (!inherits(col,"try-error")) {
colnames(col) = ordered.colnames[i]
dataset.reordered = cbind(dataset.reordered, col)
}
}
La solution
Tu ne peux pas le faire cela?
ordered.colnames <- ordered.colnames[ordered.colnames %in% colnames(dataset)]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow