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 nicht row.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

InformationsquelleAutor chupvl | 2012-06-13
Schreibe einen Kommentar