So benennen Sie viele Variablen mit string-Suffixen

In Stata, habe ich eine Reihe von Variablen, die alle beginnen mit pkg. In Ihren aktuellen Zustand, Ihre enden sind numerisch: pkg1, pkg2, pkg3, pkg4 und so weiter.

Ich ändern müssen alle diese Variablen' Endungen an Saiten: pkgmz, pkggmz, pkgsp, pkgsptc etc.

Ich habe eine Spalte mit dieser Zeichenfolge enden, die kann ich benennen als eine lokale Liste.

Beispiel:

local croplist mz gmz sp sptc mil cof suk tea ric

Wie ändere ich die numerischen Endungen an den string-enden?

Meine Vermutung auf den code finden Sie weiter unten und die ??? anzugeben, wo ich bin ratlos:

local croplist crops mz gmz sp sptc mil cof suk tea ric

foreach x of varlist pkg* {
    local new1 = substr(`x', 1, 3)
    local new2 = ???
    rename `x' ``new1'`new2''
    label var ``new1'`new2'' "Avg district level `new2' price"
}

Frage ich mich, ob es besser wäre, zu nutzen regexr() Befehl, aber kann nicht denken, ein Weg, um es aufzunehmen.

Jede Hilfe ist willkommen.

InformationsquelleAutor ben | 2012-12-03

Schreibe einen Kommentar