Предположим следующий вектор символов с несовместимым числовым форматом:
myvec <- c( '50% of population live in block 50 number 27-04',
'And 1% of population live in block 8 number 1-42',
'And 1% of population live in block 5B number 1-8',
'60% of population live in block 1641 number 17-23',
'80% of population live in block 677B number 5-3')
Я хочу иметь согласованный числовой формат так, чтобы каждое число имело как минимум две цифры:
c( '50% of population live in block 50 number 27-04',
'And 01% of population live in block 08 number 01-42',
'And 01% of population live in block 05B number 01-08',
'60% of population live in block 1641 number 17-23',
'80% of population live in block 677B number 05-03')
Если проще получить все цифры до 4 цифр (макс. Количество цифр), это также будет нормально:
c( '0050% of population live in block 0050 number 0027-0004',
'And 0001% of population live in block 0008 number 0001-0042',
'And 0001% of population live in block 0005B number 0001-0008',
'0060% of population live in block 1641 number 0017-0023',
'0080% of population live in block 0677B number 0005-0003')
Важно, чтобы все числа с одинаковым количеством цифр имели одинаковый формат. В конце я хочу прочитать блок и номер (например, «блок 50 номер 27-04») и проверить наличие дубликатов (фактический вектор намного длиннее и состоит из дубликатов в блоке и номере, но с другим текстом перед этим) -что я не могу в данный момент, так как начало строки может отличаться.
Я попробовал несколько вещей, таких как gsub("(\\d)+", "0\\1", myvec)
, но они не сработали.
Спасибо!