2015-05-06 8 views
5

ich einen einfachen Datenrahmen haben alsDatenrahmen nicht mehr ein Datenrahmen einmal Element entfernt wird

myframe<-data.frame(c(NA, NA,NA, 1,2,3,4,5,NA,7,8,9)) 

ich wie so das erste Element entfernen:

myframe<-myframe[-1,] 

Und wenn ich dies tun:

is.data.frame(myframe) 

Das Ergebnis, das ich bekommen ist:

[1] FALSE 

Ich kann es beheben, indem Sie:

myframe<-data.frame(myframe[-1,]) 

aber ich dachte, dass der Datenrahmen nach Elementen nicht aufhören würde, ein Datenrahmen ist

Entfernen Was hier geschieht? Ich habe den ganzen Tag programmiert und mein Gehirn ist gebraten und ich kann das nicht herausfinden. Bitte helfen Sie.

Mein Ziel ist es, nur die ersten n Vorkommen von NAs in einem Datenrahmen zu entfernen. Wenn sie irgendwo in der Mitte auftreten, ist es egal.

Vielen Dank!

Antwort

9

Da Sie nur eine Spalte haben, konvertiert R das Ergebnis automatisch in einen Vektor. Wenn Sie die Datenrahmenstruktur erhalten möchten, geben Sie

myframe[-1, , drop = FALSE] 
+2

Und aus der Dokumentation: drop: logisch. Wenn TRUE, wird das Ergebnis auf die niedrigstmögliche Dimension gezwungen. Der Standardwert ist das Löschen, wenn nur eine Spalte übrig ist, aber nicht das Löschen, wenn nur eine Zeile übrig ist. – tospig

+0

Danke Jungs! Die ganze Zeit bin ich nie in das hineingerannt. R, du tust dis !!!! –

Verwandte Themen