Ich versuche, Datenrahmen zu filtern, die nur eine Spalte haben. Dies führt zu einem Vektor wie so zurückgegeben werden:Filtern von einspaltigen Datenrahmen
single.c <- data.frame(col1=c(1,2,3,4,5), row.names=C("r1","r2","r3","r4","r5"))
single.c[single.c$col1 > 2,]
[1] 3 4 5
Was will ich eigentlich sind die Daten, wie es zurückgegeben wird, ist für mehrspaltige Datenrahmen:
multi.c <- data.frame(col1=c(1,2,3,4,5), col2=c(1,2,3,4,5), row.names=c("r1","r2","r3","r4","r5"))
multi.c[multi.c$col2 > 2,]
col1 col2
r3 3 3
r4 4 4
r5 5 5
ich es sehen kann, macht Sinn eine Rückkehr Vektor, wenn es keine anderen Spalten gibt, aber im Allgemeinen möchte ich sehen, welche Zeilen dieses Ergebnis auch gegeben haben. Warum passiert das und gibt es eine einfache Möglichkeit, die Datenrahmenform im Ergebnis zu halten, einschließlich der rownames?
Danke, ich hatte keine Ahnung, dass die Dokumentation unter '? '[''! – MattLBeck
Tolles Zeug! Ich habe mich immer gefragt, wie man einen data.frame durch Extrahieren einer einzelnen Spalte aus einem vorhandenen data.frame erhält! Ich habe data.frame (col1 = multi.col $ col1, row.names = rohnames (multi.col)) verwendet, um das Gleiche zu tun! Do! –