Announcement

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

  • Sort data via two nested variables

    Hello,

    I have an educational dataset containing each students' ID number, the academic term in which a grade was earned, the subject in which the grade was earned, the catalogue number of the course they took, and the grade itself. The data is arranged in long format with each student ID repeated, listing off all the courses they took in a disordered fashion before switching to the next student. The example below displays the data for two total students.

    I would like to sort the data such that each students' data is still clustered; however, the remainder of their data is arranged from small values to large by academic term.

    I have searched through Stata's files, but not been able to find anything describing how this might be done. Any help would be appreciated.

    -Eric

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input str15 username_h int term_cd str8(subject_cd catalog_nbr) str3 course_grade_cd
    "5FFE72C531B7DD2" 2231 "BUSERV" "1915" "A-"
    "5FFE72C531B7DD2" 1914 "ECON"   "0100" "x" 
    "5FFE72C531B7DD2" 1971 "PHIL"   "7300" "B+"
    "5FFE72C531B7DD2" 2227 "EDUC"   "1067" "S" 
    "5FFE72C531B7DD2" 1921 "CHEM"   "0110" "B" 
    "5FFE72C531B7DD2" 1921 "CDN"    "1600" "A" 
    "5FFE72C531B7DD2" 1927 "PSY"    "0020" "B" 
    "5FFE72C531B7DD2" 1924 "CHEM"   "0120" "x" 
    "5FFE72C531B7DD2" 1931 "CHEM"   "0310" "F" 
    "5FFE72C531B7DD2" 1914 "CS"     "7004" "A" 
    "5FFE72C531B7DD2" 1921 "CHEM"   "0110" "x" 
    "5FFE72C531B7DD2" 1914 "ECON"   "0100" "C+"
    "5FFE72C531B7DD2" 1941 "FR"     "0002" "A-"
    "5FFE72C531B7DD2" 1997 "PSY"    "0310" "A+"
    "5FFE72C531B7DD2" 1997 "PSY"    "0160" "A" 
    "5FFE72C531B7DD2" 2147 "COMMRC" "1102" "A-"
    "5FFE72C531B7DD2" 2231 "PITT"   "0210" "S" 
    "5FFE72C531B7DD2" 2224 "NUR"    "1765" "A+"
    "5FFE72C531B7DD2" 1934 "FR"     "0001" "A" 
    "5FFE72C531B7DD2" 1905 "MATH"   "0012" "C" 
    "5FFE72C531B7DD2" 2211 "HRS"    "1017" "A" 
    "5FFE72C531B7DD2" 1914 "SOC"    "7010" "B" 
    "5FFE72C531B7DD2" 1934 "CHEM"   "0120" "C+"
    "5FFE72C531B7DD2" 1931 "CDN"    "1612" "C" 
    "5FFE72C531B7DD2" 1917 "ENGCMP" "7200" "C" 
    "5FFE72C531B7DD2" 1967 "HAA"    "0020" "A" 
    "5FFE72C531B7DD2" 2234 "PSY"    "1210" "0" 
    "5FFE72C531B7DD2" 1931 "BIOSC"  "0150" "B" 
    "5FFE72C531B7DD2" 1921 "CS"     "0131" "B" 
    "5FFE72C531B7DD2" 1974 "INFSCI" "0010" "B" 
    "5FFE72C531B7DD2" 1931 "BIOSC"  "0150" "x" 
    "5FFE72C531B7DD2" 1924 "HRP"    "1006" "B" 
    "5FFE72C531B7DD2" 2201 "HIST"   "1090" "A" 
    "5FFE72C531B7DD2" 2221 "NUR"    "1829" "A" 
    "5FFE72C531B7DD2" 2204 "PUBSRV" "1305" "A" 
    "5FFE72C531B7DD2" 1954 "ENGLIT" "8640" "C" 
    "5FFE72C531B7DD2" 1974 "BIOSC"  "0050" "A-"
    "5FFE72C531B7DD2" 1981 "SOC"    "0230" "A" 
    "5FFE72C531B7DD2" 1944 "CHEM"   "0320" "x" 
    "5FFE72C531B7DD2" 1944 "CHEM"   "0320" "W" 
    "5FFE72C531B7DD2" 1924 "CHEM"   "0120" "D" 
    "5FFE72C531B7DD2" 1927 "COMMRC" "0520" "B" 
    "5FFE72C531B7DD2" 2217 "COMMRC" "1730" "A+"
    "5FFE72C531B7DD2" 2151 "SOC"    "0477" "A-"
    "5FFE72C531B7DD2" 1924 "PSY"    "0010" "C" 
    "5FFE72C531B7DD2" 2001 "PSY"    "1205" "B" 
    "5FFE72C531B7DD2" 1941 "CHEM"   "0310" "B-"
    "5FFE72C531B7DD2" 1951 "ENGLIT" "0315" "A-"
    "C02DF75B5319766" 1964 "PHARM"  "1450" "B+"
    "C02DF75B5319766" 1964 "PHARM"  "1490" "B+"
    "C02DF75B5319766" 1931 "SOC"    "0436" "x" 
    "C02DF75B5319766" 1971 "PHARM"  "1511" "S" 
    "C02DF75B5319766" 1971 "PHARM"  "1512" "S" 
    "C02DF75B5319766" 1934 "CHEM"   "0320" "B" 
    "C02DF75B5319766" 1931 "ANTH"   "0780" "x" 
    "C02DF75B5319766" 2174 "FR"     "0004" "A" 
    "C02DF75B5319766" 1941 "PHARM"  "1240" "B" 
    "C02DF75B5319766" 1964 "PHARM"  "1604" "S" 
    "C02DF75B5319766" 1934 "MUSIC"  "0211" "A+"
    "C02DF75B5319766" 1961 "PHARM"  "1400" "A-"
    "C02DF75B5319766" 1934 "PS"     "0200" "B" 
    "C02DF75B5319766" 1954 "DSPHL"  "1130" "B" 
    "C02DF75B5319766" 1934 "CHEM"   "0340" "B" 
    "C02DF75B5319766" 1931 "CHEM"   "0310" "C" 
    "C02DF75B5319766" 1944 "PHARM"  "1210" "B" 
    "C02DF75B5319766" 1961 "PHARM"  "1440" "B" 
    "C02DF75B5319766" 1944 "PHARM"  "1230" "D" 
    "C02DF75B5319766" 1931 "CHEM"   "0330" "B" 
    "C02DF75B5319766" 1961 "PHARM"  "1480" "B" 
    "C02DF75B5319766" 1954 "PHARM"  "1310" "C+"
    "C02DF75B5319766" 1941 "PHARM"  "1260" "A" 
    "C02DF75B5319766" 1944 "PHARM"  "1270" "B" 
    "C02DF75B5319766" 1951 "DSPHL"  "1120" "B" 
    "C02DF75B5319766" 1964 "PHARM"  "1410" "A" 
    "C02DF75B5319766" 1951 "PHARM"  "1600" "S" 
    "C02DF75B5319766" 1974 "PHARM"  "1780" "B" 
    "C02DF75B5319766" 1931 "MUSIC"  "0311" "x" 
    "C02DF75B5319766" 1931 "MUSIC"  "0311" "A-"
    "C02DF75B5319766" 1951 "PHARM"  "1320" "B" 
    "C02DF75B5319766" 1954 "PHARM"  "1330" "B" 
    "C02DF75B5319766" 1951 "PHARM"  "1340" "C-"
    "C02DF75B5319766" 1964 "PHARM"  "1150" "B" 
    "C02DF75B5319766" 1954 "PHARM"  "1390" "B" 
    "C02DF75B5319766" 1954 "PHARM"  "1601" "S" 
    "C02DF75B5319766" 1951 "PHARM"  "1300" "B" 
    "C02DF75B5319766" 1944 "PHARM"  "1290" "A" 
    "C02DF75B5319766" 1941 "PHARM"  "1200" "B+"
    "C02DF75B5319766" 1961 "PHARM"  "1420" "B+"
    "C02DF75B5319766" 2171 "FR"     "0003" "A" 
    "C02DF75B5319766" 1934 "MUSIC"  "0211" "x" 
    "C02DF75B5319766" 1934 "ENGCMP" "0150" "B" 
    "C02DF75B5319766" 1974 "PHARM"  "1700" "A-"
    "C02DF75B5319766" 1931 "ANTH"   "0780" "A-"
    "C02DF75B5319766" 1931 "SOC"    "0436" "B+"
    "C02DF75B5319766" 1941 "COMMRC" "1018" "B" 
    "C02DF75B5319766" 1971 "PHARM"  "1501" "S" 
    "C02DF75B5319766" 1961 "PHARM"  "1140" "B" 
    "C02DF75B5319766" 1954 "PHARM"  "1350" "C" 
    "C02DF75B5319766" 1964 "PHARM"  "1430" "A-"
    "C02DF75B5319766" 1941 "DSMIC"  "1130" "B" 
    end

  • #2
    I'm guessing that username_h is the student ID variable and term_cd encodes, in some order-preserving way, the academic term? If that's right
    Code:
    sort username_h term_cd
    will do what you ask.

    Comment


    • #3
      In the "deeper" (i.e., PDF) help information on -sort-, there is an example titled "Sorting on Multiple Variables." This and the other material there might be of interest to Eric McChesney

      Comment


      • #4
        Wonderfully helpful, thank you both. I'll attempt that later this afternoon.

        Comment


        • #5
          Mike Lacy Clyde Schechter This worked very well. What an elegant solution. Thank you both!

          Comment

          Working...
          X