Quelle est la meilleure façon de transposer un data.frame dans R et de définir l'une des colonnes comme étant l'en-tête de la nouvelle table transposée? J'ai codé un moyen de le faire ci-dessous. Comme je suis encore nouveau à R., je voudrais des suggestions pour améliorer mon code ainsi que des alternatives qui seraient plus comme R. Ma solution est également malheureusement un peu codée en dur (c'est-à-dire que les nouveaux en-têtes de colonne sont à un certain endroit).
# Assume a data.frame called fooData
# Assume the column is the first column before transposing
# Transpose table
fooData.T <- t(fooData)
# Set the column headings
colnames(fooData.T) <- test[1,]
# Get rid of the column heading row
fooData.T <- fooData.T[2:nrow(fooData.T), ]
#fooData.T now contains a transposed table with the first column as headings
Eh bien, vous pouvez le faire en 2 étapes en utilisant
# Transpose table YOU WANT
fooData.T <- t(fooData[,2:ncol(fooData)])
# Set the column headings from the first column in the original table
colnames(fooData.T) <- fooData[,1]
Le résultat étant une matrice que vous connaissez probablement, qui est due à des problèmes de classe lors de la transposition. Je ne pense pas qu'il y aura une seule méthode pour le faire étant donné le manque de capacités de nommage dans l'étape de transposition.
J'avais un problème similaire à cela - j'avais une variable de facteurs dans un format long et je voulais que chaque facteur soit un nouvel en-tête de colonne; utiliser "unstack" de la bibliothèque de statistiques l'a fait en une seule étape. Si la colonne que vous souhaitez en tant qu'en-tête n'est pas un facteur, le "cast" de la bibliothèque de remodelage peut fonctionner.