Estoy intentando filtrar marcos de datos que tienen solo una columna. El resultado es un vector que vaya a devolver, así:Filtrar tramas de datos de una sola columna
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
Lo que realmente quiero es los datos devueltos como lo es para tramas de datos de varias columnas:
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
puedo ver que tiene sentido devolver una vector si no hay otras columnas, pero en general quiero ver qué filas han dado ese resultado también. ¿Por qué sucede esto, y hay una forma fácil de mantener la forma del marco de datos en el resultado, incluidos los nombres de fila?
Gracias, no tenía idea de que había documentación listada bajo '? '[''! – MattLBeck
¡Cosas geniales! Siempre me he preguntado cómo obtener un data.frame extrayendo una sola columna de un data.frame existente. He estado usando data.frame (col1 = multi.col $ col1, row.names = rownames (multi.col)) para hacer lo mismo. Doh! –