У меня есть такой фрейм данных (правильные значения - это просто пример):
df <- data.frame(a=c(" ","NO_DATA"," "," ",NA,NA,3),
b=c("NO_DATA","NO_DATA",""," ",NA,2," "),
c=c("NO_DATA","NO_DATA","","",NA,2,3),
d=c("NO_DATA","NO_DATA","","",NA,2,3),
e=c(" ","NO_DATA","","",NA,2,"NO_DATA"))
a b c d e
1 NO_DATA NO_DATA NO_DATA <- I want to Remove this
2 NO_DATA NO_DATA NO_DATA NO_DATA NO_DATA <- I want to Remove this
3 <- I want to Remove this
4 <- I want to Remove this
5 <NA> <NA> <NA> <NA> <NA> <- I want to Remove this
6 <NA> 2 2 2 2 <- Preserve
7 3 3 3 NO_DATA <- Preserve
Мне нужно удалить все строки со значениями: "", "" (или любые количество пробелов), NA
, «NO_DATA»; но присутствует во всех столбцах одной строки .
Я пробовал использовать подмножество, но logi c кажется неправильным, поскольку даже это:
subset(df, a != "NO_DATA" & b != "NO_DATA")
приводит к неправильный результат:
a b c d e
3
4
7 3 3 3 NO_DATA
Это результат, который я хочу:
a b c d e
6 <NA> 2 2 2 2
7 3 3 3 NO_DATA
Я хотел бы использовать регулярное выражение, потому что возможные значения могут отличаться