У меня есть этот фрейм данных (df
):
structure(list(from = c("(192) 242-2345", NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "(832) 345-3168",
NA, NA), to = c("(900) 301-3451", NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "(900) 234-1231",
NA, NA), action_result = c("Voicemail", "No Answer", "No Answer",
"No Answer", "No Answer", "No Answer", "No Answer", "No Answer",
"No Answer", "IP Phone Offline", "No Answer", "No Answer", "Busy",
"Busy", "No Answer", "No Answer", "No Answer", "No Answer", "No Answer",
"No Answer", "No Answer", "Busy", "IP Phone Offline", "Busy",
"No Answer", "No Answer", "No Answer", "No Answer", "No Answer",
"IP Phone Offline", "IP Phone Offline", "No Answer", "No Answer",
"IP Phone Offline", "No Answer", "No Answer", "Busy", "Missed",
"Hang Up", "Hang Up")), class = c("spec_tbl_df", "tbl_df", "tbl",
"data.frame"), row.names = c(NA, -40L))
Первая строка содержит номера телефонов, которые сделали вызов и получили вызов.Затем строки, идущие после первой строки, являются значениями NA.Таким образом, строки 1-37 рассматриваются как одна группа, а строки с 38 по 40 считаются второй группой.Я хотел бы проверить, содержит ли каждая группа значение Call Connected
в столбце action_result
.
Я пробовал group_by
значения from
и to
, но весь набор данных, с которым я работаю, содержит повторяющиеся пары значений from
и to
, так что это неРабота.Мне бы хотелось, чтобы решение dplyr
проверило, содержат ли первые 37 строк Call Connected
, и выдает кадр данных со столбцами:
from
, to
, CallConnected
, где CallConnected
равно 1для Да и 0 для Нет.
S0, глядя на df
, результирующий набор данных будет иметь 2 строки:
from | to | CallConnected
--------------------------------------------------
(192) 242-2345|(900) 301-3451| 0
(832) 345-3168|(900) 234-1231| 0