У меня есть фрейм данных:
ID Value
A 2020-05-09 15:21:28 - Getting response from user
B 2020-07-28 10:07:01 - Trying to load data
C 2020-07-28 10:31:47 - Received message: (Main:'{"Id": "2313124"})
D 2020-07-28 14:46:09 - HV000234: Message as Valid
Я хочу разделить значение столбца на три столбца: timestamp, message, message_text. Желаемый результат:
ID timestamp message message_text
A 2020-05-09 15:21:28 NA Getting response from user
B 2020-07-28 10:07:01 NA Trying to load data
C 2020-07-28 10:31:47 Received message (Main:'{"Id": "2313124"})
D 2020-07-28 14:46:09 HV000234 Message as Valid
Как вы видите, для некоторых строк сообщение отсутствует, но есть текст сообщения, поэтому в этих случаях сообщение должно быть NA. Я пробую это, но это не срабатывает:
log_df_sep <- log_df %>%
separate(body, c("timestamp", "Value"), "\\d - ", extra = "merge") %>%
separate(Value, c("message", "Value"), "(?: (.*?):)?", extra = "merge")
Но я отлично справляюсь. Что мне делать?