Удалить цифры между символами в переменных метках - PullRequest
2 голосов
/ 14 мая 2019

Я получил набор данных с сотнями переменных, которые имеют их лейблы все перепутались.

После проверки ряда переменной она выглядит как числа появляются в случайном порядке на этикетке.

Ниже приведен похожий пример использования auto игрушечного набора данных Stata:

Ma6k0e a6nd Mo0d5e3l  
Pri1ce3  
Mi1le3age3 (mpg)  
Re6pa7ir R3ec8or9d 1978  
He4ad3ro5om (i7n.)   
Tr2un8k s9pa5ce (c4u.333ft.)  
We0ig7ht (lbs.)  
Len2gt4h (in.)  
Tu1rn Cir9c0le (ft.)   
Di7spl1ac3e7ment (cu.333in.)  
Ge3a6r Ra6ti1o  
Ca5r ty4pe2

Как я могу быстро очистить это?

1 Ответ

2 голосов
/ 14 мая 2019

Вот быстрый способ сделать это:

sysuse auto, clear

label variable make "Ma6k0e a6nd Mo0d5e3l"
label variable price "Pri1ce3"
label variable mpg "Mi1le3age3 (mpg)"
label variable rep78 "Re6pa7ir R3ec8or9d 1978"
label variable headroom "He4ad3ro5om (i7n.)"
label variable trunk "Tr2un8k s9pa5ce (c4u.333ft.)"
label variable weight "We0ig7ht (lbs.)"
label variable length "Len2gt4h (in.)"
label variable turn "Tu1rn Cir9c0le (ft.) "
label variable displacement "Di7spl1ac3e7ment (cu.333in.)"
label variable gear_ratio "Ge3a6r Ra6ti1o"
label variable foreign "Ca5r ty4pe2"

foreach var of varlist * {
    display ""
    display "`: variable label `var''"
    label variable `var' `"`= ustrregexra("`: variable label `var''", "[0-9]", "")'"'
    display "`: variable label `var''"
}

Результаты:

Ma6k0e a6nd Mo0d5e3l
Make and Model

Pri1ce3
Price

Mi1le3age3 (mpg)
Mileage (mpg)

Re6pa7ir R3ec8or9d 1978
Repair Record 

He4ad3ro5om (i7n.)
Headroom (in.)

Tr2un8k s9pa5ce (c4u.333ft.)
Trunk space (cu.ft.)

We0ig7ht (lbs.)
Weight (lbs.)

Len2gt4h (in.)
Length (in.)

Tu1rn Cir9c0le (ft.) 
Turn Circle (ft.) 

Di7spl1ac3e7ment (cu.333in.)
Displacement (cu.in.)

Ge3a6r Ra6ti1o
Gear Ratio

Ca5r ty4pe2
Car type
...