2012-11-07 10 views

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 
+0

È 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

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) 
Problemi correlati