Скажем, у меня есть data.table, например:
set.seed(10)
data.table(group = rep(c("a","b","c"), each=5), date = rep(1:5,3), value = sample(c(95:105,""),15, replace=TRUE))
Внутри каждой группы в столбце значений я хотел бы проверить (простым способом), есть ли "" (пусто) символ), или группа пустых символов, которым предшествует и сопровождается значением.
Итак, все в порядке: "", 95,103 и т. д. c .... (пустой символ - первый внутри группы), но приведенные ниже шаблоны являются примерами "отсутствующих данных", которые я хотел бы обнаружить:
95, "", 103, ... (пустой символ в середине )
95, "", "", 103 ... (несколько пустых символов в середине)
95, 103, "" (пустой символ в конце)
Итак, в выходных данных ниже я смогу получить строку / группу A, и, если групп много, я должен получить все группы (или строки)
group date value
1: a 1 105
2: a 2 103
3: a 3 104
4: a 4
5: a 5 101
6: b 1 102
7: b 2 100
8: b 3 101
9: b 4 97
10: b 5 102
11: c 1 104
12: c 2 101
13: c 3 104
14: c 4 96
15: c 5 102
Редактировать: Что мне нужно сделать, это выбрать строки, которые имеют неправильный шаблон (таким образом, пустые строки в середине или в конце) , чтобы можно было обнаружить, есть ли какие-либо ошибки в а набор данных rge. Таким образом, в таблице в моем примере желаемым выводом будет 4-я строка, так как она имеет «пропущенное значение» (пустой символ между значениями)
group date value
1: a 4
(если бы было больше нежелательных строк, конечно, я бы хотел получить их все)