BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
smackerz1988
Pyrite | Level 9

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:

  1. 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).

  2. 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%

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

smackerz1988_0-1700077741128.png

 

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;
1 ACCEPTED SOLUTION

Accepted Solutions
smackerz1988
Pyrite | Level 9

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;

View solution in original post

8 REPLIES 8
PaigeMiller
Diamond | Level 26

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.

--
Paige Miller
smackerz1988
Pyrite | Level 9

@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 

smackerz1988_0-1700077892384.png

 

PaigeMiller
Diamond | Level 26

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.

--
Paige Miller
smackerz1988
Pyrite | Level 9

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;
PaigeMiller
Diamond | Level 26

The BIN option of PROC FREQ, for binary variables, will produce confidence intervals for you.

--
Paige Miller
smackerz1988
Pyrite | Level 9

@PaigeMiller  can you show me the code using my example data?

PaigeMiller
Diamond | Level 26

Just add the BIN option to the TABLE statement of PROC FREQ

--
Paige Miller

SAS Innovate 2025: Register Now

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!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 8 replies
  • 2615 views
  • 3 likes
  • 2 in conversation