The code and the graph do not agree. The graph is for "Negative Affective Responsivity" whereas the code creates a graph for "Positive Affective Responsivity". Furthermore, I cannot use your data because it contains user-defined formats that I do not have:
ERROR: The format B1PAGE_F was not found or could not be loaded. ERROR: The format B1PRSEXF was not found or could not be loaded. ERROR: The format B1PA7CFF was not found or could not be loaded.
...
Regardless, the question is "percentage of WHAT?" Of the total range of the csrpa_mlm2 variable? If so, compute the MIN and MAX of csrpa_mlm2 in the initial PROC MEANS step, then create new values at the mean +/- 1% of the range. For example:
proc means data=JH.Final3;
var csrpa_mlm2;
output out=out mean=mean std=sd min=Min max=Max;
run;
data mdat;
set out;
keep csrpa_mlm2;
P1 = 0.01 / (Max - Min);
do csrpa_mlm2 = mean-P1, mean, mean+P1;
if csrpa_mlm2 = mean-P1 then csrpa_mlm2_Pct = -0.01;
else if csrpa_mlm2 = mean+P1 then csrpa_mlm2_Pct = 0.01;
else csrpa_mlm2_Pct = 0.0;
output;
end;
format csrpa_mlm2_Pct PERCENT6.2;
run;
Notice that instead of evaluating the model at
do csrpa_mlm2 = mean-sd, mean, mean+sd
this code evaluates the model at
do csrpa_mlm2 = mean-P1, mean, mean+P1
Since the model is linear, it shouldn't matter where you evaluate the model.
To display percentages on the plot, use the csrpa_mlm2_Pct as the X= variable.
This is untested, but hopefully it will be helpful.
... View more