Поправьте меня, если я ошибаюсь, но, похоже, вы хотите, чтобы все строки имели значение в столбце c более чем в два раза. «Repeated» заставляет меня думать, что они должны происходить последовательно, для этого и нужен rle
, но вы бы хотели строки 1-4, только если вы пытались это сделать.
Тем не менее, приведенный ниже код находит строки, в которых значение в столбце c встречается более 2 раз. Я уверен, что это можно сделать более элегантно, но это работает.
lines <-
"a b c
1 201 1
2 202 1
3 203 1
4 204 1
5 205 4
6 206 5
7 207 4
8 208 4
9 209 8
10 210 5"
Data <- read.table(con <- textConnection(lines), header=TRUE); close(con)
cVals <- data.frame(table(Data$c))
Rows <- Data$c %in% cVals[cVals$Freq > 2,1]
Data[Rows,]
# a b c
#1 1 201 1
#2 2 202 1
#3 3 203 1
#4 4 204 1
#5 5 205 4
#7 7 207 4
#8 8 208 4