The "Overall Response Rate" (ORR) is a term commonly used in clinical trials, particularly in the field of oncology, to measure the efficacy of a treatment. The ORR reflects the proportion of patients whose cancer shrinks (partial response, PR) or disappears (complete response, CR) after treatment, according to predefined criteria.
Here's how the ORR is typically calculated:
Identify the Responses: Determine the number of patients who have a Complete Response (0) and those who have a Partial Response (1) to the treatment. These criteria are often based on standard response evaluation criteria in solid tumors (RECIST).
Calculate the ORR: Add the number of patients with CR and the number of patients with PR. Divide this sum by the total number of patients in the subset of the trial being considered. The ORR is usually expressed as a percentage.
ORR=(Number of CR+Number of PRTotal Number of Patients)×100%ORR=(Total Number of PatientsNumber of CR+Number of PR)×100%
How would I obtain confidence intervals using this code. I have tried clodds= and cl but I get errors. Would proc logistic work better or can i just calculate it in a different data step?
proc freq data=adrs_inv2;
tables result_Cr_Pr/ chisq CMH out=a ;
weight pwt;
output out=resultfile all ; run;
When I attempt this code below I get this error and similar when I use CL instead of CLODDS=WALD
proc freq data=adrs_inv2;
tables result_Cr_Pr / chisq CMH oddsratio CLODDS=WALD;
weight pwt;
output out=resultfile;
run;
So I think this code might do it but the issue I'm getting is that it is not outputting ProportionalCi as a dataset and get a warning about " WARNING: No OUTPUT data set is produced because no statistics are requested." I just need the percentage of "0", and the confidence interval of the percentage
proc freq data=adrs_inv2; tables result_Cr_Pr / binomial; weight pwt; output out=ProportionCI; run; /* Additional step to extract only the '0' category if needed */ data ProportionCI_0; set ProportionCI; where result_Cr_Pr = 0; run;
Updated sample data
data adrs_inv2; input result_Cr_Pr pwt; datalines; 0 1.51672 0 0.905012 0 1.60279 0 1.94328 0 1.36424 1 1.35838 1 0.834622 1 1.17069 1 1.76961 0 1.54922 1 0.946155 1 1.37191 1 1.8226 1 1.5388 1 1.58788 0 1.25199 1 1.58308 0 0.517571 ; run;
This is the solution. In Proc freq weights might be creating Non integer values. If the weights are such that they produce noninteger counts, you might not be able to use the binomial option to compute exact confidence intervals directly. However, you can do an approximation using proc surveyfreq
ods output OneWay=ProportionCI;
proc surveyfreq data=adrs_inv2;
table result_Cr_Pr / cl;
weight pwt;
run;
ods output close;
Using this data and code, what is the "Overall Response Rate" and how is it calculated?
What errors do you get? Show us the log.
@PaigeMiller I've updated my post to provide further context. Basically the code is partially doing what I need. I just need confidence intervals added. Here is the output
There is no CLODDS option in the TABLES statement of PROC FREQ.
I still don't understand the analysis you are doing. You show an analysis where result_Cr_Pr has values of 0 or 1, but that certainly does not correspond to the input data set you showed us.
From now on, please copy the logs as text and paste them into the window that appears when you click on the </> icon above where you type.
@PaigeMiller I've updated again
This is the solution. In Proc freq weights might be creating Non integer values. If the weights are such that they produce noninteger counts, you might not be able to use the binomial option to compute exact confidence intervals directly. However, you can do an approximation using proc surveyfreq
ods output OneWay=ProportionCI;
proc surveyfreq data=adrs_inv2;
table result_Cr_Pr / cl;
weight pwt;
run;
ods output close;
The BIN option of PROC FREQ, for binary variables, will produce confidence intervals for you.
@PaigeMiller can you show me the code using my example data?
Just add the BIN option to the TABLE statement of PROC FREQ
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.