attribuer les en-têtes basés sur ligne existante dans dataframe dans la R
Après la transformation de un dataframe, je voudrais assigner des chefs/les noms de colonnes basées sur un ligne existante.
Mes en-têtes sont actuellement:
row.names X2 X3 X4 X5 X6 X7 X8 X9 ...
Je voudrais me débarrasser de cela et utiliser la ligne suivante comme en-têtes de colonne (sans avoir à taper car j'en ai beaucoup).
La seule solution que j'ai pour ce qui est de l'exportation et de re-charger les données (avec header=T).
Vous devez vous connecter pour publier un commentaire.
La clé ici est de unlist la ligne en premier.
Essayez ceci:
Toutefois, obtenir un regard si les données ont été correctement lu. Si vous avez des données.cadre a des variables numériques, mais la première rangée ont été les personnages, toutes les données ont été lues en tant que personnage. Pour éviter ce problème, il est préférable d'enregistrer les données et de les lire à nouveau avec header=TRUE comme vous le suggérez. Vous pouvez également obtenir un coup d'oeil à cette question: La lecture d'un fichier CSV organisées horizontalement.
Très similaire à Vishnu réponse, mais utilise le lapply à la carte toutes les données de caractères, puis de les assigner comme les en-têtes. Ceci est très utile si vos données sont importées en tant que facteurs.
noter que si vous avez beaucoup de données numériques ou des facteurs que vous voulez, vous devez les convertir en arrière. Dans ce cas, il peut faire sens pour stocker les données de caractère de cadre, extrait de la ligne que vous voulez, puis de l'appliquer à l'original de la trame de données