%macro scree( data = _last_ , /* proc FACTOR の outstat= で出力したデータセット名 */ var = _numeric_ , device = win , h = 0.5 , vref = 1 , vlength = 80pct, hlength = 50pct ) ; data _scree_ ; set &data ; if _type_ = "EIGENVAL" ; keep &var ; run ; proc transpose data = _scree_ out = _scree_ ; run ; data _scree_ ; set _scree_( keep = col1 ) ; k = _n_ ; run ; goptions device = &device ; symbol1 v = circle h = &h c = blue i = join ; axis1 length = &vlength label = none ; axis2 length = &hlength label = none ; proc gplot data = _scree_ ; plot col1 * k / vref = &vref cvref = pink fr vaxis = axis1 haxis = axis2 ; run ; quit ; goptions device = win ; %mend scree ;