web-dev-qa-db-fra.com

Spécifier les noms de ligne lors de la lecture dans un fichier

J'ai un .txt fichier contenant les noms de lignes. Cependant, R définit les noms de ligne comme première colonne.

34
fokos

Si vous avez utilisé read.table() (ou un de ses semblables, par exemple read.csv()), la solution de facilité consiste à modifier l'appel en:

read.table(file = "foo.txt", row.names = 1, ....)

.... sont les autres arguments dont vous aviez besoin/que vous avez utilisés. Le row.names argument prend le numéro de colonne du fichier de données à partir duquel prendre les noms de lignes. Ce n'est pas nécessairement la première colonne. Voir ?read.table pour plus de détails/info.

Si vous avez déjà les données dans R et que vous ne pouvez pas vous donner la peine de les relire ou qu'elles proviennent d'une autre route, définissez simplement l'attribut rownames et supprimez la première variable de l'objet (en supposant que obj est votre objet)

rownames(obj) <- obj[, 1] ## set rownames
obj <- obj[, -1]          ## remove the first variable
50
Gavin Simpson

Voir ?read.table. Fondamentalement, lorsque vous utilisez read.table, vous spécifiez un nombre indiquant la colonne:

##Row names in the first column
read.table(filname.txt, row.names=1)
5
csgillespie