Spalte name für Daten-frame
Hallo, ich habe einen Daten-frame in R, die ein Ergebnis des Vergleichs ein Vektor mit große Datenbank (db gelesen wurde, wie dies db <- read.table("database.txt", header = F, row.names = 1, sep = ",")
).
Das problem ist, wenn ich versuchte, um den Namen der Spalten mit diesem Stück code colnames(some_matrix_with_example_below) <- c("name1","name2")
R erzeugt einen Fehler:
Error in `colnames<-`(`*tmp*`, value = c("name1", "name2")) :
length of 'dimnames' [2] not equal to array extent
Beispiel der matrix zu benennen
row.names item
dbi1 1.0000000
dbi3 0.9431307
dbi4 0.9427034
dbi5 0.9259156
dbi6 0.9210256
Als ich richtig verstehen, dass die Zeile ein.Namen, die nicht behandelt wird, wie eine Spalte, ist es einfach Weg, nicht für die Erstellung von Namen-und Werte-Objekt und binden Sie Sie für weitere export?
- Die offensichtliche Lösung ist, um zu tun
colnames(foo) <- "name1"
d.h. Sie liefern nur eine Spalte name. Ich habe keine Ahnung, was dein letzter Satz bedeutet. Konnte erklären und zeigen, was Sie erreichen wollen. - Es funktioniert nicht, weil die matrix ist 1 von 5
- Was nicht funktioniert? Die matrix ist 5 1 durch die Art und Weise, werden die Zeilen zuerst, dann Spalten. Die matrix 1 Spalte, so können Sie liefern nur ein name. Sie haben nicht erklärt, was es ist, dass Sie wollen.
- Muss ich ersetzen-Zeile.Namen name1
- OK, ich sehe das problem. Dank für die Angabe es. Sind Sie sicher, dass Sie eine matrix?
db
wird sicherlich ein Daten-frame. Wenn es ist, und Sie sind nicht festgelegt auf die Verwendung einer matrix, Sie wären besser dran, die Einstellung nichtrow.names = 1
argument, wenn Sie "importieren". - Es ist Daten-frame. Sorry für falsch!
- In diesem Fall, siehe meine Antwort für einen anderen Weg, unter Berücksichtigung Ihren Kommentar zu @JoshOBrien Antwort
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit
Beachten Sie, dass
df
hat zwei Spalten hier.Nun benennen Sie diese Namen:
gibt
Nun, wenn wir schreiben, die diese Daten Rahmen, den wir unterdrücken, schreiben der Zeile Namen:
erhalten wir die folgende Datei:
Ich würde trennen Sie die Rundung Schritt aus dem schreiben der Daten-Datei. Auch, Sie don t müssen für die Umstellung auf eine matrix zu verwenden
write.table()
einen Daten-frame, funktioniert einwandfrei.gibt
dann schreiben Sie es aus, wie oben. Sie können sogar kombinieren die zwei Schritte, wenn Sie möchten: