У меня есть данные, которые выглядят так:
structure(list(Age = c("25", "22", "54", "62", "86", "25", "44",
"54", "48", "50"), full_name = c("DOE, MARTIN", "SMITH, RYAN E",
"JOHN, KENNETH", "DOE, LAWRENCE A", "FU, EDGAR", "ALEXANDER, AL",
"BARR, DONALD", "STEVENS, RICHARD", "LUIGI, MARIO", "SMITH, GLEN"
), ems_interventions = c("Oxygen - Prehospital Cervical Collar - Prehospital Long Spine Board -
Prehospital IV Access - Prehospital",
NA, "*ND", "*ND", "IV Access - Prehospital Cervical Collar - Prehospital Long Spine Board -
Prehospital",
"*ND", "Cervical Collar - Prehospital Long Spine Board - Prehospital IV Access - Prehospital",
"*ND", "Endotrach Tube (ETT)", "*ND")), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -10L), groups = structure(list(
full_name = c("ABREU, MARTIN", "ADAMS, RYAN E", "ADLER, KENNETH",
"AGLI, LAWRENCE A", "ALBERT, EDGAR", "ALEXANDER, AL", "ALEXANDER, DONALD",
"ALEXANDER, RICHARD", "ALEXIS, MARIO", "ALLEN, GLEN"), Age = c("25",
"22", "54", "62", "86", "25", "44", "54", "48", "50"), .rows = list(
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L)), row.names = c(NA,
-10L), class = c("tbl_df", "tbl", "data.frame"), .drop = TRUE))
, и я хотел бы добавить новый столбец, который подсчитывает количество фрагментов слов между "-" в столбце ems_interventions. Т.е. для «Луиджи, Марио», у которого была только «эндотраховая трубка (ETT)», он получил бы «1» в этой новой колонке. За «Барра, Дональда», у которого были «шейный воротник - догоспитальная доска для длинного позвоночника - догоспитальный внутривенный доступ - догоспитальный», он получил 4 в новой колонке. et c ..
Уловка в том, что я хотел бы отфильтровать людей, которые имели NA или "* ND", и они получили бы ноль.
Спасибо за ваша помощь!