Ho un file .txt
che contiene i nomi di riga. Tuttavia, R imposta i nomi delle righe come prima colonna.Specificare i nomi di riga durante la lettura in un file
27
A
risposta
36
Se è stato utilizzato read.table()
(o una delle sue ilk, ad esempio read.csv()
) allora la soluzione semplice è quella di cambiare la chiamata a:
read.table(file = "foo.txt", row.names = 1, ....)
dove ....
è altri argomenti necessari/utilizzati. L'argomento row.names
prende il numero di colonna del file di dati da cui prendere i nomi delle righe. Non è necessario che sia la prima colonna. Vedi ?read.table
per dettagli/informazioni.
Se si dispone già di dati in R e può; t essere disturbati per rileggerlo, o è venuto da un altro percorso, è sufficiente impostare l'attributo rownames
e rimuovere la prima variabile dall'oggetto (supponendo obj
è l'oggetto
rownames(obj) <- obj[, 1] ## set rownames
obj <- obj[, -1] ## remove the first variable
5
Vedere ?read.table
. In sostanza, quando si utilizza read.table
, si specifica un numero che indica la colonna:
##Row names in the first column
read.table(filname.txt, row.names=1)
È anche possibile utilizzare l'affettamento basato su colonne (almeno per matrice e dataframe). 'rownames (obj) <- t (obj [1]) ## ottiene i nomi delle righe dalla prima colonna' 'obj <- obj [-1] ## rimuovi la prima colonna' – mpag