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;