Я пытаюсь фильтровать кадры данных, которые имеют только один столбец. Это приводит к вектору возвращается так:Фильтрация одностолбцовых фреймов данных
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
То, что я на самом деле хочу, возвращаемые данные, как это для dataframes несколько колонок:
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
Я могу видеть это имеет смысл возвращать вектор, если нет других столбцов, но обычно я хочу видеть, какие строки дали этот результат тоже. Почему это происходит, и есть ли простой способ сохранить форму кадра данных в результате, включая имена розеток?
Спасибо, я понятия не имел, что есть документация, указанная в разделе '? '[''! – MattLBeck
Отличный материал! Я всегда задавался вопросом, как получить data.frame, извлекая один столбец из существующего data.frame! Я использовал data.frame (col1 = multi.col $ col1, row.names = rownames (multi.col)), чтобы сделать то же самое! Doh! –