Ich habe eine .txt
Datei, die Zeilennamen enthält. R legt die Zeilennamen jedoch als erste Spalte fest.Angeben von Zeilennamen beim Einlesen einer Datei
27
A
Antwort
36
Wenn Sie read.table()
verwendet (oder einer seiner ilk, zB read.csv()
), dann die einfache Lösung ist es, den Anruf zu ändern:
read.table(file = "foo.txt", row.names = 1, ....)
wo ....
ist andere Argumente, die Sie benötigt/verwendet. Das Argument row.names
nimmt die Spaltennummer der Datendatei, von der die Zeilennamen übernommen werden sollen. Es muss nicht die erste Spalte sein. Siehe ?read.table
für Details/Informationen.
Wenn Sie bereits die Daten in R und kann; t belästigt wird es noch einmal zu lesen, oder ist kamen aus einer anderen Strecke, setzen Sie einfach das rownames
Attribut, und entfernen Sie die erste Variable von dem Objekt (unter der Annahme, obj
wird Ihr Objekt)
rownames(obj) <- obj[, 1] ## set rownames
obj <- obj[, -1] ## remove the first variable
5
Siehe ?read.table
. Grundsätzlich, wenn Sie read.table
zu verwenden, geben Sie eine Zahl, die die Spalte:
##Row names in the first column
read.table(filname.txt, row.names=1)
Sie könnten auch spaltenbasiertes Slicing verwenden (zumindest für Matrix und Dataframe). 'rownames (obj) <- t (obj [1]) ## erhalten Zeilennamen aus der ersten Spalte' 'obj <- obj [-1] ## erste Spalte entfernen ' – mpag