Фильтрация фреймов данных с одним столбцом

Я пытаюсь отфильтровать кадры данных, которые имеют только один столбец. Это приводит к тому, что вектор возвращается так:

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

На самом деле я хочу, чтобы данные возвращались так, как это делается для многостолбцовых фреймов данных:

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

Я вижу, что имеет смысл возвращать вектор, если нет других столбцов, но, как правило, я хочу посмотреть, какие строки также дали этот результат. Почему это происходит, и есть ли простой способ сохранить форму фрейма данных в результате, включая имена строк?

Ответы на вопрос(1)

Ваш ответ на вопрос