У меня есть переменная sting, назовите ее desc
, которая принимает множество разных значений, скажем 300. Я хочу создать две новые переменные, desc_a
и desc_b
. desc
содержит два класса значений; Я хочу поместить тех, кто принадлежит к первому классу, в desc_a
, а остальное - в desc_b
. Я опишу один из способов, которым я придумал. Однако этот метод очень медленный. Мне интересно, есть ли лучший способ сделать это.Эффективный способ категоризации
gen desc_a = ""
gen desc_b = ""
tab desc
Результирующий выходной вкладка может отображаться как (опуская ненужную информацию):
DESC | Freq. Perc. Cum.
___________________________________________
First Element of a 53
Second Element of a 22
First Element of b 78
Third Element of a 232
Second Element of b 33
* вручную пройти и скопировать и вставить каждую строку вкладки в операторы, такие как:
replace desc_a = "First Element of a" if desc=="First Element of a"
replace desc_a = "Second Element of a" if desc=="Second Element of a"
replace desc_a = "Third Element of a" if desc=="Third Element of a"
...
replace desc_b = "First Element of b" if desc=="First Element of b"
replace desc_b = "Second Element of b" if desc=="Second Element of b"
Обратите внимание, что фактические данные фактически не соответствуют хорошему шаблону, подобному этому, и поэтому я не могу автоматизировать его с помощью регулярных выражений или чего-то подобного. Мне нужно вручную осмотреть каждый из них и решить, в какую категорию он войдет. Однако я считаю, что описанный мной метод, который включает в себя тонны копирования и вставки, - не лучший способ.