Я хотел бы извлечь некоторую информацию о времени (длительности) из строки (импортированной из базы данных) в R и нуждаться в некоторой помощи в том, как я подхожу к этой задаче. Проблема в том, что в базе данных есть тысячи длительностей времени, которые я хотел бы обрабатывать, но они различаются по формату. Например,
извлечение времени из строки в r
Строка
- 1 день
- 23 часа
- 3-5days
- 7-10 дней
48 часов
Как вам могут видеть, они v ary по формату, некоторые из них имеют диапазон, некоторые имеют точную продолжительность времени, а некоторые имеют пробелы, разделяющие цифры и буквы. В идеале они обрабатывались бы в два столбца с диапазоном, а затем в третий столбец, который я мог бы вычислить полную продолжительность. Таким образом, результаты вышеуказанных точек данных будет:
день; день1; 1
- 0,958; 0,958
- 3; 5
- 7; 10
- 2; 2
Я думаю, что я, возможно, потребуется регулярное выражение, которое извлекает числа и ищет ключ слова. Если найдено слово «час», сделайте переход к дням. Если найдена тире, найдите числа до и после тире, а также ключевое слово «час/день». Это похоже на беспорядок для работы, но хотелось посмотреть, есть ли у кого-нибудь идеи, чтобы облегчить мою жизнь.
Спасибо!
в основном, вам нужно сделать что-то вроде этого [https://regex101.com /r/wN1eI9/1](https://regex101.com/r/wN1eI9/1), а затем iterater над списком и замените точку с запятой на конце символом '; (такое же число, как и предыдущее)' –