Это решение для регулярных выражений работает:
df[-which(grepl("\\d$", apply(df, 1, paste0, collapse = ""))),]
id DSDECOD1 DSDECOD2 DSDECOD3
1 1 A
2 2 B
3 3 A
4 4 B
8 8 A
9 9 B
10 10 A
Это решение работает, paste0
объединяя строки вместе, а затем вычитая из кадра данных эти строки which
end ($
) в di git (\\d
), что происходит только при пустых строках DSDECOD
:
Воспроизводимые данные :
df <- data.frame(
id = 1:10,
DSDECOD1 = c("", "B", rep("",8)),
DSDECOD2 = c("A","","","B","","","","","",""),
DSDECOD3 = c("", "", "A", "","","","", "A", "B", "A"))
df
id DSDECOD1 DSDECOD2 DSDECOD3
1 1 A
2 2 B
3 3 A
4 4 B
5 5 # empty
6 6 # empty
7 7 # empty
8 8 A
9 9 B
10 10 A