Вы можете подсчитать количество строк в which
шаблон abcd
повторяется в столбцах:
nrow(ab[which(grepl("(abcd)\\s\\1", apply(ab, 1, paste0, collapse = " "))),])
[1] 1
EDIT:
Если шаблон уже повторяется в один столбец, тогда это будет работать, чтобы соответствовать только повторению по столбцам :
Данные:
ab <- data.frame(one = c("abcd","efg","ijk"), two = c("abcd mmmk","abcd abcd","ijk"))
ab
one two
1 abcd abcd mmmk
2 efg abcd abcd # this is the row we do not want to match as the dup is in a single col
3 ijk ijk
Корректировка состоит в том, что шаблон больше не включает \\s
и строки сворачиваются без пробела:
nrow(ab[which(grepl("(abcd)\\1", apply(ab, 1, paste0, collapse = ""))),])
[1] 1