精华内容
下载资源
问答
  • R语言实现常用多重比较方法

    千次阅读 2018-03-03 20:19:44
    R语言实现常用多重比较方法在单因素...常见的多重比较方法主要两种,LSD法和Tukey HSD法。下面对R语言中,这两种多重比较方法的实现进行举例。前期数据如下,影响因素为group,指标为value:> head(tarD) ...

    R语言实现常用多重比较方法

    在单因素方差分析ANOVA中,如果该因素影响比较显著,那么需要进一步利用多重比较方法比较该因素不同水平的影响,确定不同水平下该因素的影响是否显著。常见的多重比较方法主要有两种,LSD法和Tukey HSD法。下面对R语言中,这两种多重比较方法的实现进行举例。
    前期数据如下,影响因素为group,指标为value:
    > head(tarD)
                       value  group      sample   time
    A0522W11NC1 0.0002053745 normal A0522W11NC1 11week
    A0522W11NC2 0.0031773712 normal A0522W11NC2 11week
    A0522W11NC3 0.0060378288 normal A0522W11NC3 11week
    A0522W11NC4 0.0017626931 normal A0522W11NC4 11week
    A0522W11NC5 0.0018035261 normal A0522W11NC5 11week
    A0522W11NC6 0.0036690067 normal A0522W11NC6 11week

    > tmp <- aov(value ~ group, tarD)
    最小显著差数检验法(LSD法)

    > res <- LSD.test(tmp, 'group', p.adj = 'bonferroni')
    > print(res$groups)
           trt        means M
    1   normal 2.576910e-03 a
    2    drug3 7.552555e-04 b
    3    drug2 7.269247e-05 b
    4 high_fat 6.220610e-05 b
    5    drug1 2.954733e-05 b
    Tukey氏固定差距检验法(Tukey HSD)
    > TukeyHSD(tmp)
      Tukey multiple comparisons of means
        95% family-wise confidence level

    Fit: aov(formula = value ~ group, data = tarD)

    $group
                             diff           lwr          upr     p adj
    drug2-drug1      4.314514e-05 -0.0015468705 0.0016331608 0.9999916
    drug3-drug1      7.257082e-04 -0.0008643074 0.0023157239 0.6929965
    high_fat-drug1   3.265877e-05 -0.0015149488 0.0015802664 0.9999969
    normal-drug1     2.547362e-03  0.0009997549 0.0040949700 0.0002613
    drug3-drug2      6.825631e-04 -0.0009487586 0.0023138847 0.7563196
    high_fat-drug2  -1.048637e-05 -0.0016005020 0.0015795293 1.0000000
    normal-drug2     2.504217e-03  0.0009142017 0.0040942330 0.0004945
    high_fat-drug3  -6.930494e-04 -0.0022830651 0.0008969662 0.7277757
    normal-drug3     1.821654e-03  0.0002316386 0.0034116699 0.0175538
    normal-high_fat  2.514704e-03  0.0009670961 0.0040623113 0.0003161
    > TukeyHSD(tmp)$group
                             diff           lwr          upr        p adj
    drug2-drug1      4.314514e-05 -0.0015468705 0.0016331608 0.9999915820
    drug3-drug1      7.257082e-04 -0.0008643074 0.0023157239 0.6929965170
    high_fat-drug1   3.265877e-05 -0.0015149488 0.0015802664 0.9999969171
    normal-drug1     2.547362e-03  0.0009997549 0.0040949700 0.0002612744
    drug3-drug2      6.825631e-04 -0.0009487586 0.0023138847 0.7563195891
    high_fat-drug2  -1.048637e-05 -0.0016005020 0.0015795293 0.9999999705
    normal-drug2     2.504217e-03  0.0009142017 0.0040942330 0.0004944674
    high_fat-drug3  -6.930494e-04 -0.0022830651 0.0008969662 0.7277757202
    normal-drug3     1.821654e-03  0.0002316386 0.0034116699 0.0175537862
    normal-high_fat  2.514704e-03  0.0009670961 0.0040623113 0.0003161003

    展开全文
  • 多重比较校正的方法很多,如Bonferroni、False Discovery Rate(FDR)、Random-field Theory (RFT)等等,各种校正方法优劣,具体应用时要根据自己统计分析数据特点进行选择。本文,笔者对Bonferroni和False ...

    《本文同步发布于“脑之说”微信公众号,欢迎搜索关注~~》

    在科学研究的统计分析中,我们往往会遇到多重比较校正问题。多重比较校正的方法很多,如Bonferroni、False Discovery Rate(FDR)、Random-field Theory (RFT)等等,各种校正方法各有优劣,具体应用时要根据自己的统计分析的数据特点进行选择。本文,笔者对Bonferroni和False Discovery Rate(FDR)两种校正方法进行论述,特别是对于应用比较广的FDR校正方法,笔者用具体的例子详细阐述了其原理,并给出其Matlab程序。

    为什么要进行多重比较校正

    当在同一个数据集上进行多次统计检验时,就需要进行多重比较校正。举个简单的例子,A、B两组被试,我们从每个被试身上得出10个指标。如果我们要研究A、B两组被试的某一个指标是否存在显著差异,那么此时我们只做一次统计分析就行;假设这个指标的p值小于0.05,我们会认为这个指标在A、B两组之间存在显著差异,此时,我们犯错的概率(或者称为假阳性率)是5%。假设我们把这10个指标都进行了统计分析,即使每个独立的指标的p值都小于0.05,此时我们犯错的概率不再是5%,而是1-(0.95)^10=0.4013,也就是说此时我们犯错的概率达到40%多,这在统计学上是不可接受的。因此,需要进行多重比较校正。

    Bonferroni 校正方法

    Bonferroni校正方法非常简单,若单次显著性水平为0.05,那么Bonferroni 校正后的p值应该为0.05/n,其中n为统计比较的次数。Bonferroni 校正方法应该属于最严格的一种校正方法,当统计比较的次数比较多时,Bonferroni 校正后的p值会非常小,此时不推荐使用这种校正方法。当统计比较的次数较小时,如小于几十个时,可以尝试使用。

    FDR 校正方法

    这里,笔者主要对FDR校正方法的原理进行论述。FDR校正方法是Benjamini和Hochberg于1995年提出了一种多重比较校正的方法。其实,FDR具体的算法也有多种,如Storey法(由Storey等人提出)、Benjamini-Hochberg法(简称BH法)等。其中BH法目前应用最广,这里主要介绍这种方法的基本原理。

    基于BH法的FDR校正过程:

    第一步:将我们单独统计得到的一系列的p=[p1,p2,…,pn]从大到小进行重新排序,计为P=[P1,P2,…,Pn];

    第二步:按照以下公式计算每个P值所对应的校正前的FDR值,这里称之为Q值:Q = Pi* (n/r),Pi表示P中元素值,n是P值个数,r依次为n,n-1,…,1。

    第三步:对Q进行校正,得到FDR值。对于计算出来的Q=[Q1,Q2,…,Qn],若某一个Qi值大于前一位Qi-1值,则把Qi的值赋值为Qi-1;反之则保留相应的Q值。最终得到Q值称之为校正后的FDR值。

    第四步:按照重排序之前的顺序返回各个p值对应的校正后的FDR值。

    例子:假设p=[0.01, 0.005, 0.03, 0.03, 0.02, 0.04, 0.05],计算相应的校正后的FDR值。

    笔者按照上述步骤,自行编制相应的Matlab程序,计算过程和结果如下:

    按照上述第一步步骤,计算得到P=[0.0500, 0.0400, 0.0300, 0.0300, 0.0200, 0.0100, 0.0050];

    按照第二步中的方法,计算得到Q=[0.0500, 0.0467, 0.0420, 0.0525, 0.0467, 0.0350, 0.0350];

    按照第三步:得到校正后的FDR值为:FDR=[ 0.0500, 0.0467, 0.0420, 0.0420, 0.0420, 0.0350, 0.0350];

    最后,转换成原来的顺序:FDR=[0.0350, 0.0350, 0.0420, 0.0420, 0.0420, 0.0467, 0.0500].

    对于本例来说,如果总体的显著性水平设置为0.05,那么从得到的最后的FDR值来说,这几个p值都具有显著性差异。

    总结
    本文,笔者对为什么要进行多重比较校正做了简单介绍,并重点论述了FDR多重比较校正方法。关于本文中FDR校正对应的Matlab程序,如有朋友需要,请先转发本文到您的朋友圈,然后截图发给我(微信号:kervin_zhao),我会把相应代码发给您(原创不易,请大家理解)。对于多重比较校正遇到的问题,也可以加笔者进行交流。

    注:原创不易,请多多转发支持,如有问题请加笔者微信交流(悦影科技赵宗亚,微信:15560177218)

    展开全文
  • 简单介绍一下常用的方法它们的含义,以及如何正确恰当选择使用这些方法。LSD:最小显著差异法,实际上是 t 检验的改进,检验统计量为T,在变异和自由度的计算上利用了整个样本信息,而不仅仅是比较两组的信息。它的...

    以SPSS为例,十多种方法可选,上图为英文视图,下图为中文翻译视图,请对照学习。

    简单介绍一下常用的方法它们的含义,以及如何正确恰当选择使用这些方法。

    LSD:最小显著差异法,实际上是 t 检验的改进,检验统计量为T,在变异和自由度的计算上利用了整个样本信息,而不仅仅是比较两组的信息。它的敏感度最高,在比较时仍然存在放大α水准(一类错误)的问题,换言之就是总的二类错误非常小,要是LSD法都没有检验出有差别,恐怕真的没差别了。

    检验原理与t检验相同,但比一般t检验的敏感性高,只要各组均值间存在一定程度的微小差异就有可能被检验出来。LSD法侧重于减小II类错误,但有增大I类错误的可能。

    Bonferroni:由 LSD 法修正而来,通过调整每个检验的α水准来控制总的α水准,最终保证总的α水准为0.05,该方法敏感度介于 LSD 法和 Scheffe 法之间。Bonferroni用途最广,几乎可用于任何多重比较的情形,包括组间例数相等或不等、成对两两比较或综合多重比较等。

    S-N-K:即 Student Newman Keuls 法,是应用最广泛的一种两两比较方法。它采用Student-Range 分布进行所有组均值间的配对比较。该方法保证在H0真正成立时总的α水准等于实际设定值,即控制了一类错误。

    检验后将没有显著差异的组别放在一个子集,有显著差异的组别分在不同子集,控制了犯I类错误的概率。

    TUKEY:即 Tukey's honestly significant difference 法(Tukey’s HSD),采用 Student-Range 统计量进行所有组间的两两比较。但与 S-N-K 法不同的是,它控制的所有比较组中最大的一类错误概率不超过α水准。

    Tukey法只能用于组间例数相同的情形,而且只能用于成对的两两比较。

    Scheffe:当各组人数不相等,或者想进行复杂比较时,用此法较为稳妥。它检验的是各个均数的线性组合,而不是只检验某一对均数间的差异,并控制总体的α水准等于0.05。正因如此,它相对比较保守,有时候方差分析F值差异有统计学意义,用该法做两两比较也找不出差异来。

    Scheffe法可用于组间例数不等的情形,不仅可用于成对的两两比较,而且还可以用于综合比较,如组2、3的均值与组1进行比较。

    Dunnett:主要用于多个实验组与一个对照组的比较,实验组之间不做比较。【 Dunnett-t 检验】又称为:新复极差法检验。是一种方差分析中均值比较的方法。由Duncan 1955年在Newman及Keuls的复极差法(muhiple range method)基础上提出,该方法与Tukey法相类似。适用于n-1个试验组与一个对照组均数差别的多重比较,多用于证实性研究。 Dunnett-t 统计量的计算公式与LSD-t 检验完全相同。

    恰当选择的其他经验如下:

    如果各组间例数相等,Tukey法效率较高,这也是国外不少统计学家喜欢用的方法。但在国内tukey法始终不流行,甚至很少有人知道他的名字,不知道为什么。国内最流行的方法是Bonferroni法,我想可能是因为这一方法理解和计算最简单吧。但不管怎样,该法应用也没什么大错,只要比较次数不多,用起来还是蛮有用的。

    如果比较次数太多,比如10次甚至更多,用Bonferroni法就有问题了,临界p值会变得特别小,你可能会发现总的组间有差异,但两两比较却都达不到临界值,因为比较次数太多,导致p值太小,无法拒绝h0。所以此时可以考虑用Scheffe法。Scheffe法在国内也不流行,同样不知道为什么。也行是因为教材上不大介绍吧,可见国内学生深受教材毒害之深。好像教材上介绍的才是权威,其实不然,教材上介绍的不一定是最好的,而是最不容易犯错误的,也就是说,不求有功,但求无过。

    如果存在明确的对照组,要进行验证性研究,即计划好的某两个或几个组间(和对照组)的比较,适宜用 Bonferroni(LSD)法;

    在试验设计之初,就已经明确要比较某几个组均数间是否有差异,称为事前比较。常用的事前比较方法有LSD、和Dunnett法。

    若是在做了整体检验后,发现结果存在统计学差异,我们想要知道哪些组间的均数有差异,称为事后比较。常用的事后比较方法有SNK、Duncan、Turkey、Scheffe法。

    临床上,我们可能存在多组,使用方差分析以后,往往会需要进一步多重比较,即所谓的两两比较。一般经验是:方差齐,各组样本量相同——Turkey;方差齐,若多个实验组与对照组比较——Dunnett法;方差齐,样本量不同——Scheffe;若组数较少,可以使用Bonferroni法;方差不齐,样本量小——Games-Howell。

    最后给大家送上有医咖会平台整理的方差分析多重比较方法选择路径图。绝好!

    本文最终由数据小兵整理自网络资料

    展开全文
  • 书接下回,咱们聊一聊方差分析后的多重比较。...多重比较:统计学中把多个平均数之间的两两比较称为多重比较常用的方法有最小显著差数法(LSD)、最小显著极差法(LSR法)。还是用一张思维导图梳...

    书接下回,咱们聊一聊方差分析后的多重比较。方差分析时有两种可能的结果,要么不拒绝

    ,那么就说明差异不显著,变异是由于随机误差所导致的,如果拒绝了
    ,我们只能判断出各个处理之间均值是不完全相等。但是无法判断两两之间是否有差异,这个时候就需要用到多重比较了。

    多重比较:统计学中把多个平均数之间的两两比较称为多重比较

    常用的方法有最小显著差数法(LSD)、最小显著极差法(LSR法)。

    还是用一张思维导图梳理本文的内容,觉得有用可以继续读下来,帮忙扩散下,觉得没用的也可以节省时间。

    20fe605cbf023f69a72cae4fc63965a2.png
    统计学往期文章

    我要自学生信之统计学:统计学概述(一):统计学基本概念

    我要自学生信之统计学:跳出假设检验的逻辑坑

    我要自学生信之统计学:总体均数的估计

    我要自学生物信息学之统计学:统计学概述(二):t检验、方差分析、F检验、卡方检验

    最小显著差数法(LSD)

    LSD简单介绍

    LSD的实质是两个平均数相比较的t检验法。首先计算出显著水平为

    的最小显著差数法
    。然后用任两个平均数与
    比较。

    如果:

    则这两个平均数在

    水平上显著。

    实际计算时,我们只需要再知道一个公式就可以进行比较了。

    =

    其中

    为平均数差数的标准误
    为F检验中显著水平为0.05的临界t值,可以通过t界表查询。

    LSD法多重比较的步骤

    (1)列出平均数的多重比较表:

    各处理按其平均数从大到小排列,计算任意两个平均数的差;

    (2)计算最小显著差数

    (3)将任意两个平均数的差数与

    进行比较,做出统计推断。

    下面我们来举一个例子:

    b3ab129496c044eccc97d173fba1e3c7.png

    c25c278f9a46fec2ab5d5a0f4e5b87f2.png

    计算得到

    =2.02

    当df=12时,

    =2.179,
    =3.055

    =
    *
    =4.40(cm)

    =
    *
    =6.18(cm)

    8c05ab097202b981bf14d69a27a980f0.png

    8c05ab097202b981bf14d69a27a980f0.png

    图中的表示方法称为梯形表法。下面我们会具体介绍多重比较的表示方法。

    最小显著极差法(LSR法)

    LSR法有两种不同的尺度判断,q法和SSR,这两种方法和LSD的计算方法基本是一致的

    在q法中:

    =
    *SE

    在SSR法中:

    =
    *SE
    多重比较方法的选择

    在多重比较中,LSD法的尺度最小,q检验法尺度最大,SSR法的尺度居中。这个地方就不展开讲解了。

    多重比较结果的表示法

    下面这一部分实际上是我讲解的重点。使用的检验方法为SSR法

    表示方法使用字母表示法,因为梯形表法在实际中并不常用,这里就不单独介绍了

    4dde2e87d7f5d17e7b55f76bf11a03e8.png

    首先我们需要查询一下q表中P=2,3,4,5时的值

    9fadd61383554d5f79d874b71bcacbb3.png

    用字母表示法表示差异

    8a4b683f686c4f09be8771e6bfa7b41b.png

    我来解释一下这个字母的标注,先看显著水平为0.05的,即差异显著性用小写字母表示的

    (1)在最大的平均数上标a;

    (2)以最大的平均数为标准,往下依次相比,31.5与28.5差值为3,P=2(P值代表的是两个平均数差值中中间的平均数个数),此时LSR的临界值为3.9,3<3.9,因此差异不显著,在碳酸氢铵上标注一个a,每一次如果差异不显著就和上面的字母保持一致,如果差异显著就更换新的字母。同时,如果差异不显著就和再和下面的平均数进行比较直至差异显著;

    (3)31.5与氨水1的27.0的比较,P=3 差值为4.5>4.1(p=3s,

    时LSR的值),差异显著标注为b。再以27.0为标准与以上未比较的平均数依次相比,27.0与28.5相比差异不显著,所以28.5上再加一个b;

    (4)再以标有b的最大平均数为标准,往下比(先是标有a的最大平均数,再是标有b的最大平均数),28.5和24.5相比不显著,24.5上标b,28.5和20.0相比差异显著,20.0上标c。

    (5)再以20.0为标准,与以上未比较的平均数依次相比,20.0与27.0和24.5差异都显著,不再另外标注。

    判断标准:每一个平均数上凡有一个相同字母的即为差异不显著,凡无相同字母的即为差异显著。

    例如我们看尿素和氨水2,没有相同字母,差值为7,P=4,LSR临界值4.22,7>4.22,差异显著。

    展开全文
  • 菜鸟学R语言(组间多重比较

    千次阅读 2020-07-09 23:10:40
    此时多重比较就派上用场了,在科研中也是比较常用的方法。 具体的理论知识不再多讲,上代码之前先了解一下多重比较的类别。 LSD检验(最小显著差数检验法):这也是我最常用的方法,基本上就是T检验的简单变形,T...
  • R语言组间多重比较

    万次阅读 2018-04-26 10:58:57
    TableOne给我们提供了多组间整体的比较方法(Default ...)在做组间的比较时几种常用的方法,根据实验设计的不同合理选择不同方法才是正解!Show time!&gt; 先来看一个数据示例data &lt;- data.test其中 ...
  • #pragma once这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。 #pragma once是编译器相关的,的编译器支持,的编译器不支持,具体情况请查看编译器API文档,...
  • 若不满足前提条件则宜采用更为稳健的非参数方法,比如常用的基于秩次的假设检验(秩和检验)。秩和检验时,我们的H0假设不再是均值相等,而是中位数代表的分布是否相同。 类似于方差分析中的独立样本的方差分析和区...
  • ASP只是一个一般的引擎,具有支持多种语言的能力,不过默认的并且是最常用的还是VBScript。 mod_perl与Perl一样强大,只是更快一些。 二、PHP入门 PHP站点的在线教程已经很棒了。在那里还有一些其他教程的链接。...
  • 解决兼容性bug的常用方法有4种:1)选择器Hacks2)属性Hack3)IE注释Hack4)浏览器探测(如js)从可维护性和向后兼容角度考虑,属性Hack通常是比较被推崇,由于属性Hack并不全面,所以也常与选择器Hack搭配。...
  • 107个常用javascript语句

    2011-03-06 23:59:07
    的多重继续. 73.JS中的self指的是当前的窗口 74.JS中状態栏显示內容:window.status="內容" 75.JS中的top指的是框架集中最顶层的框架 76.JS中关闭当前的窗口:window.close(); 77.JS中提出是否確认的框:if(confirm(...
  • 但在你开始之前,先了解如下最常用的回归方法: 1. 线性回归(Linear Regression) 线性回归通常是人们在学习预测模型时首选的技术之一。 在这种技术中, 因变量是连续的, 自变量可以是连续的也...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    ◆ Windows 95/98常用的FAT 32文件系统:vfat ; ◆ Win NT/2000 的文件系统:ntfs ; ◆ OS/2用的文件系统:hpfs; ◆ Linux用的文件系统:ext2、ext3; ◆ CD-ROM光盘用的文件系统:iso9660。 虽然vfat是指...
  • 统计学方法与数据分析(上下册)

    热门讨论 2013-12-29 11:32:47
    第九章多重比较 9.1引言和案例 9.2线性对照 9.3控制哪个错误率 9.4Fisher(费舍尔)最小显著差异法 9.5TukeyW方法 9.6Student-Newman-Keuls方法 9.7Dunnett方法:处理组与对照组比较 9.8ScheffeS方法 ...
  • assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为...
  • 图的存储方法有邻接表、邻近矩阵、邻接多重表、十字链表等。本篇文章介绍两种简单且比较常用的两种方法:邻接表与邻接矩阵方法。 以下面的无向图为例,介绍两种存储方法。有向图的存储方法类似,只是边是单方向,无...
  • 接口和内部类接口接口允许多重继承声明接口语法接口中只能定义常量和抽象方法一个类实现接口语法类实现接口接口中常量一个对象往往有多重身份接口特殊特征接口作用接口和抽象类异同点如何使用接口内部类...
  • ArrayList类中有多重方法来操作数据,以下是比较常用的方法: 1.添加元素分为两种:一种是在列表的末尾添加元素,起始的位置从0开始:一种是在指定的位置添加元素,索引位置必须介于0和列表元素之间:
  • 遍历

    千次阅读 2016-06-29 20:56:00
    .图的存储结构 图的存储结构除了要存储图中各个顶点的本身的...常用的图的存储结构邻接矩阵、邻接表、十字链表和邻接多重表。 8.2.1 邻接矩阵表示法 对于一个具有n个顶点的图,可以使用n*n的矩阵(二维数组)来
  • 存储

    2016-03-12 17:39:35
    图的存储结构  图的存储结构除了要存储图中各个顶点的本身信息外,同时还要存储...常用的图的存储结构邻接矩阵、邻接表、十字链表和邻接多重表。  一、 邻接矩阵表示法  对于一个具有n个结点的
  • 存储结构

    2014-08-29 15:42:40
    图的存储结构除了要存储图中各个顶点的本身的信息外,...常用的图的存储结构邻接矩阵、邻接表、十字链表和邻接多重表。  8.2.1邻接矩阵表示法  对于一个具有n个顶点的图,可以使用n*n的矩阵(二维数
  • 遍历(C#)

    2014-09-29 14:26:15
    C#与数据结构--图的遍历   8.2 图的存储结构 图的存储结构除了要存储图中各个顶点的本身的信息外,...常用的图的存储结构邻接矩阵、邻接表、十字链表和邻接多重表。 8.2.1 邻接矩阵表示法 对于一个具有n个顶
  • 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;什么错? short s1 = 1; s1 += 1;什么错? 9 7、char型变量...
  • 图系列:图遍历

    2012-12-03 10:32:39
    8.2 图的存储结构 图的存储结构除了要存储图中各个顶点的本身的信息...常用的图的存储结构邻接矩阵、邻接表、十字链表和邻接多重表。 8.2.1 邻接矩阵表示法 对于一个具有n个顶点的图,可以使用n*n的矩阵(二维数
  • C#与数据结构--图遍历

    千次阅读 2008-06-10 09:07:00
    8.2 图的存储结构图的存储结构除了要存储图中各个顶点的本身的信息外,...常用的图的存储结构邻接矩阵、邻接表、十字链表和邻接多重表。8.2.1 邻接矩阵表示法对于一个具有n个顶点的图,可以使用n*n的矩阵(二维数组

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 133
精华内容 53
关键字:

常用的多重比较方法有