美文网首页临床统计
proc freq计算客观缓解率中的几个选项

proc freq计算客观缓解率中的几个选项

作者: SASPRO的打工人生活 | 来源:发表于2021-10-31 16:08 被阅读0次

    在肿瘤项目的table中,往往会有这样几张表计算最佳总体应答、客观缓解率、缓解持续时间等,比如今天我了解的这个客观缓解率,shell上有说通过Clopper Pearson方法计算ORR的95%置信区间(CI)。

    好吧,什么方法能计算置信区间并且采用Clopper Pearson方法,去搜,proc freq可以,,proc freq我们用的最多的应该是去计算频数频率吧。

    那什么选项能计算95%CI呢?看SAS官网,这个binomial选项可以,好的,接下来我们建立程序的大致框架。

    data temp;

    do i = 1 to 20; group='A'; response=0; output; end;

    do i = 1 to 80; group='A'; response=1; output; end;

    do i = 1 to 100; group='B'; response=0; output; end;

    do i = 1 to 100; group='C'; response=1; output; end;

    run;

    proc freq data=temp;

    by group;

        tables response / binomial(all);

    ods output BinomialCLs=CLS;

    run;

    选项解释:

    这个ALL代表用各种方法计算95%CI,包括下面几种方法,也是输出(type变量)

    如果只是用Clopper Pearson方法,可以这样写:

    tables response / binomial(exact);

    exact就代表Clopper Pearson方法,注意exact的位置,它是放在tables后面的,只是作为一个tables的附属选项。

    但是exact在tables还是一个语句,具体用法自己去查。

    但是这样算出的好像不是我们想要的结果?为什么?因为ORR计算的是PR和CR=“Y”的受试者(在这个例子中可以看作是response=1,但是上面程序那样写好像把response=0也计算在内了,也就是把PR和CR=“N”的受试者计算在内了<但是实际上不是的>)

    刚开始我想只筛选PR和CR=“Y”的受试者不就好了?但是结果算出来的结果却跟别人不一样,一直想不明白是为什么。虽然后面知道只筛选PR和CR=“Y的受试者会对统计结果产生影响,可能在tables这个过程发生了某些变化吧,所以不能只筛选特定受试者。

    但是我看别人的程序添加了这样一个选项:

    tables response / binomial(exact level=“Y”);这不也是只计算PR和CR=“Y”的受试者吗?

    问题就出在这了!这个level不是代表只计算PR和CR=“Y”的受试者,而是把值为“Y”的先计算?或者说是当做重中之重去计算。看红框中官网的描述。

    或者是网友的描述:

    The LEVEL= option refers to the variable level (or order), not to the actual value itself. 

    如果不加level,SAS默认把第一个出现的level(我不知道是不是第一条观测的值,还不确定)当作重中之重去计算。你可能还是会觉得这不就跟只筛选PR和CR=“Y”的受试者是一样的,怎么说呢?

    你只筛选PR和CR=“Y”的受试者,那么avalc的值只有“Y”,但是用level,可以说PR和CR=“Y”和PR和CR=“N”都参与了95%CI的计算(不知道tables原理是什么样的),只是权重不一样。(上面是我自己的理解),

    我们把上面数据集的结果加上level,并且只计算group=A看看结果

    数据集先出现的response值是0,那么我们level 0看看是不是跟上面的数据集结果一样

    发现结果确实一样!分别为0.1267和0.2918

    然后我们level 1看看,发现结果变了。验证了上面我所讲的(至于不加level选项,到底是不是取观测第一条的值作为默认level我还是不确定)

    所以总结一下,就是大家在求95%CI的时候不要提前筛选PR和CR=“Y”的受试者,虽然你知道你只需要PR和CR=“Y”的比例,但是会影响到结果。

    还有这个ods output BinomialCLs=CLS;前面一个是统计量,后面是数据集名字(用这个选项你得提前在tables后面指定用什么方法,要不然像下面这样会报错)

    proc freq过程创建了很多统计量,可以通过ods output输出,下面还有很多,几十个,这么多统计量,有时候真不知道输出哪些。

    还有SAS官网说这个binomial只适合one-way table,但是上面3个group为什么都输出了?这个one-way table是怎么理解的?2X2列联表好理解,但是如果像上面的group=A,它的response有两个值=0,=1,它是one-way table,这个有时间也要去了解。

    真的,到后面如果你主动去了解新知识,会越来越发现你怎么还有这么多东西不知道?,怎么还有这么多东西要学!!!然后什么都想学,一下想学这个,一下想学那个,结果都学不精,然后陷入深深的焦虑中。所以有时候我告诉自己,不要急,不要慌,慢慢来,学一点你就多知道一点,至少你肯主动去学去了解,这句话也送给你们。

    封面的这两只狗真的太可爱了,我尤其喜欢左边这一只!嗯嘛

    相关文章

      网友评论

        本文标题:proc freq计算客观缓解率中的几个选项

        本文链接:https://www.haomeiwen.com/subject/mmvoaltx.html