Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Labelling numeric variables after a string variable chain

    Dear all,

    In my dataset I have a list of countries as string data, and I have country codes for those countries which are numeric. Below I have an example of this using the dataex command
    I would like to merge the string variable "countryname" and the numeric variable "country" into a single numeric variable with the string names as labels.
    The two ways I thought of doing this was,
    1. Encode countryname as the specific country values.
    2. Label country the specific values of countryname.
    However I know how to do neither.

    Your help would be welcome! Thanks in advance!

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input float(year country) str52 countryname float pop
    2008  4 "Afghanistan" 27722280
    2009  4 "Afghanistan" 28394806
    2010  4 "Afghanistan" 29185512
    2011  4 "Afghanistan" 30117412
    2012  4 "Afghanistan" 31161378
    2013  4 "Afghanistan" 32269592
    2014  4 "Afghanistan" 33370804
    2015  4 "Afghanistan" 34413604
    2016  4 "Afghanistan" 35383028
    2017  4 "Afghanistan" 36296112
    2018  4 "Afghanistan" 37171920
    2004  5 "Albania"      3026939
    2005  5 "Albania"      3011487
    2006  5 "Albania"      2992547
    2007  5 "Albania"      2970017
    2008  5 "Albania"      2947314
    2009  5 "Albania"      2927519
    2010  5 "Albania"      2913021
    2011  5 "Albania"      2905195
    2012  5 "Albania"      2900401
    2013  5 "Albania"      2895092
    2014  5 "Albania"      2889104
    2015  5 "Albania"      2880703
    2016  5 "Albania"      2876101
    2017  5 "Albania"      2873457
    2018  5 "Albania"      2866376
    1980  6 "Algeria"     19221660
    1981  6 "Algeria"     19824296
    1982  6 "Algeria"     20452900
    1983  6 "Algeria"     21101876
    1984  6 "Algeria"     21763578
    1985  6 "Algeria"     22431508
    1986  6 "Algeria"     23102386
    1987  6 "Algeria"     23774288
    1988  6 "Algeria"     24443472
    1989  6 "Algeria"     25106192
    1990  6 "Algeria"     25758872
    1991  6 "Algeria"     26400468
    1992  6 "Algeria"     27028330
    1993  6 "Algeria"     27635516
    1994  6 "Algeria"     28213776
    1995  6 "Algeria"     28757788
    1996  6 "Algeria"     29266416
    1997  6 "Algeria"     29742980
    1998  6 "Algeria"     30192750
    1999  6 "Algeria"     30623406
    2001  6 "Algeria"     31451512
    2002  6 "Algeria"     31855110
    2003  6 "Algeria"     32264160
    2004  6 "Algeria"     32692152
    2005  6 "Algeria"     33149720
    2006  6 "Algeria"     33641008
    2007  6 "Algeria"     34166976
    2008  6 "Algeria"     34730604
    2009  6 "Algeria"     35333880
    2010  6 "Algeria"     35977452
    2011  6 "Algeria"     36661440
    2012  6 "Algeria"     37383900
    2013  6 "Algeria"     38140136
    2014  6 "Algeria"     38923688
    2015  6 "Algeria"     39728020
    2016  6 "Algeria"     40551400
    2017  6 "Algeria"     41389176
    2018  6 "Algeria"     42228416
    1990  8 "Angola"      11848385
    1991  8 "Angola"      12248901
    1992  8 "Angola"      12657361
    1993  8 "Angola"      13075044
    1994  8 "Angola"      13503753
    1995  8 "Angola"      13945205
    2002  8 "Angola"      17519418
    2003  8 "Angola"      18121476
    2004  8 "Angola"      18758138
    2005  8 "Angola"      19433604
    2006  8 "Angola"      20149904
    2007  8 "Angola"      20905360
    2008  8 "Angola"      21695636
    2009  8 "Angola"      22514276
    2010  8 "Angola"      23356248
    2011  8 "Angola"      24220660
    2012  8 "Angola"      25107924
    2013  8 "Angola"      26015786
    2014  8 "Angola"      26941772
    2015  8 "Angola"      27884380
    2016  8 "Angola"      28842482
    2017  8 "Angola"      29816768
    2018  8 "Angola"      30809788
    1980 11 "Argentina"   27896532
    1981 11 "Argentina"   28338514
    1982 11 "Argentina"   28794550
    1983 11 "Argentina"   29262048
    1984 11 "Argentina"   29737096
    1985 11 "Argentina"   30216284
    1986 11 "Argentina"   30698964
    1987 11 "Argentina"   31184412
    1988 11 "Argentina"   31668940
    1989 11 "Argentina"   32148136
    1990 11 "Argentina"   32618648
    1991 11 "Argentina"   33079002
    1992 11 "Argentina"   33529320
    end



  • #2
    Good question. This is what labmask from the Stata Journal does.

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input float(year country) str52 countryname float pop
    2008  4 "Afghanistan" 27722280
    2004  5 "Albania"      3026939
    1980  6 "Algeria"     19221660
    1990  8 "Angola"      11848385
    1980 11 "Argentina"   27896532
    end
     
    labmask country, values(countryname)
    
    tab country
    
        country |      Freq.     Percent        Cum.
    ------------+-----------------------------------
    Afghanistan |          1       20.00       20.00
        Albania |          1       20.00       40.00
        Algeria |          1       20.00       60.00
         Angola |          1       20.00       80.00
      Argentina |          1       20.00      100.00
    ------------+-----------------------------------
          Total |          5      100.00
    .
    .


    Code:
    . search labmask, sj
    
    Search of official help files, FAQs, Examples, and Stata Journals
    
    SJ-8-2  gr0034  . . . . . . . . . .  Speaking Stata: Between tables and graphs
            (help labmask, seqvar if installed) . . . . . . . . . . . .  N. J. Cox
            Q2/08   SJ 8(2):269--289
            outlines techniques for producing table-like graphs

    Comment

    Working...
    X