Resources

Getting Started Example for PROC PANEL

/*--------------------------------------------------------------

                    SAS Sample Library

        Name: pangs.sas
 Description: Example program from SAS/ETS User's Guide,
              The PANEL Procedure
       Title: Getting Started Example for PROC PANEL
     Product: SAS/ETS Software
        Keys: panel data
        PROC: PANEL
       Notes:

--------------------------------------------------------------*/

data greene;
   input firm year production cost @@;
datalines;
1 1955   5.36598   1.14867  1 1960   6.03787   1.45185
1 1965   6.37673   1.52257  1 1970   6.93245   1.76627
2 1955   6.54535   1.35041  2 1960   6.69827   1.71109
2 1965   7.40245   2.09519  2 1970   7.82644   2.39480
3 1955   8.07153   2.94628  3 1960   8.47679   3.25967
3 1965   8.66923   3.47952  3 1970   9.13508   3.71795
4 1955   8.64259   3.56187  4 1960   8.93748   3.93400
4 1965   9.23073   4.11161  4 1970   9.52530   4.35523
5 1955   8.69951   3.50116  5 1960   9.01457   3.68998
5 1965   9.04594   3.76410  5 1970   9.21074   4.05573
6 1955   9.37552   4.29114  6 1960   9.65188   4.59356
6 1965  10.21163   4.93361  6 1970  10.34039   5.25520
;

proc sort data=greene;
   by firm year;
run;

proc panel data=greene;
   model cost = production / rantwo vcomp = fb;
   id firm year;
run;

/* Cases from Troubleshooting subsection in Details section */
/*----------------------------------------------------------*/

/* Correct representation with one observation per
       time ID within each cross section */
data greenes1;
   input firm year production cost @@;
datalines;
1 1955   5.36598   1.14867  1 1960   6.03787   1.45185
1 1965   6.37673   1.52257  1 1970   6.93245   1.76627
2 1955   6.54535   1.35041  2 1960   6.69827   1.71109
2 1965   7.40245   2.09519  2 1970   7.82644   2.39480
;

proc sort data=greenes1;
   by firm year;
run;

proc print data=greenes1;
run;

/* Incorrect representation: multiple values for
      cross section = 1 and time ID = 1955 */
data greenes2;
   input firm year production cost @@;
datalines;
1 1955   5.36598   1.14867  1 1960   6.03787   1.45185
1 1955   6.37673   1.52257  1 1970   6.93245   1.76627
2 1955   6.54535   1.35041  2 1960   6.69827   1.71109
2 1965   7.40245   2.09519  2 1970   7.82644   2.39480
;

proc sort data=greenes2;
   by firm year;
run;

proc print data=greenes2;
run;

/* Error message expected because of incorrect representation */
proc panel data=greenes2;
   model cost = production;
   id firm year;
run;