【问题标题】:How Can I show all orders of mode by using proc univariate如何使用 proc 单变量显示所有模式顺序
【发布时间】:2023-03-11 16:53:01
【问题描述】:

我尝试显示所有模式的顺序。

比如我导入excel这样的:

A

1

1

2

3

3

3

代码是:

ods select Modes;
proc univariate data=Want modes;
   var A;
run;

这个结果显示如下:

   Mode  Count
    3     3

我想表现出来

Mode  Count
3     3
1     2
2     1

我该怎么做???

【问题讨论】:

    标签: sas


    【解决方案1】:

    您想要的输出实际上不是模式。模式返回具有相应计数的最频繁值或值(如果有多个具有相同频率的值)。在您的示例中,只有一种模式 (3),因为它是频率最高的值。结果就是这样。

    您可能对显示变量 A 中存在的每个值的频率感兴趣。在这种情况下,您希望使用以下代码:

    ods select Frequencies;
    proc univariate data=Want freq;
       var A;
    run;
    

    【讨论】:

      【解决方案2】:

      那是一个频率表。

      data have ;
        input A @@;
      cards;
      1 1 2 3 3 3
      ;
      
      proc freq data=have order=freq ;
        tables a / out=counts;
      run;
      proc print data=counts;
      run;
      

      结果:

      Obs    A    COUNT    PERCENT
      
       1     3      3      50.0000
       2     1      2      33.3333
       3     2      1      16.6667
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-21
        • 2014-08-18
        • 2013-03-07
        相关资源
        最近更新 更多