В моем фрейме данных есть столбец с индикаторами множителя, такими как тысячи, сотни, миллионы и т. Д., в виде текста.R gsub сразу заменяет сразу несколько текстов
Я хотел бы преобразовать их в числовые. Это то, что я пробовал:
a <- c("Thousands", "thousands", "Hundreds", "hundreds")
newA <- as.numeric(gsub("[Tt]housands","1000",gsub("[Hh]undreds","100",a)))
Который работает, но приводит к очень громоздким, когда есть много умножителей (как это имеет место). Я думал, что должен быть способ сделать это в одном вызове gsub
, но не смог этого сделать. Что-то вроде этого является то, что я хотел бы (это, конечно, особенно попытка не сработал):
as.numeric(gsub("^.*-","",gsub("([Hh]undreds)([Tt]housands)","\\1-100 \\2-1000",a)))
Оба подхода работают отлично. Тем не менее, 'stringi' устанавливает ** ** меньше менее зависимостей, чем' qdap'. – PavoDive