Объяснение DATA: содержит идентификатор геодезиста и ответы на различные вопросы обследований. Если один из ответов на опрос составляет 99 или 999 или 9999 (до бесконечности), то это числовое представление «Нет», Если один из ответов на опрос составляет 98 или 998 или 988, 9988, 998888 и т. Д., Это числовое представление «Да». Большая часть данных находится в целочисленной форме.Stata: поиск и замена регулярных выражений по целочисленным переменным
Я хочу заменить все переменные, которые имеют значения, начинающиеся с «9» и заканчивающиеся на «9» словом «Нет», и все переменные, начинающиеся с «9» и заканчивающиеся на «8» 'с "Да".
Моя текущая стратегия заключается в преобразовании каждый переменный в строку tostring _all, replace
, а затем итерация Копания всего string_vars
выполнить следующие два регулярные выражения:
regexr(`value', "^[9]*[9]$","No")
regexr(`value', "^[9]*[8]$", "Yes")
есть более простой способ сделать это без преобразования всех значений строки?
Я думаю, что вы получите лучший ответ, если объясните, почему вы хотите это сделать. И, может быть, объясните свои данные немного больше. Я предполагаю, что это не числовые данные ... –
Я добавил объяснение – Parseltongue