SAS: сводная таблица proc proculate или proc transpose - PullRequest
0 голосов
/ 05 ноября 2019

Мои данные в настоящее время организованы как:

NAME     COLOR PROFILE  HEIGHT
K2000    RED      C     5.10 
K2001    WHITE    B     7.11 
K2001    BLACK    B     5.12 
K2001    BLUE     B     5.2 
K2002    BLUE     A     9.3 
K2002    RED      A     8.2 
K2006    WHITE    D     5.5 
K2007    WHITE    A     8.6 
K2007    BLUE     A     5.7 
K2009    WHITE    D     8.8 
K2010    BLACK    B     5.9 
K2011    RED      B     9.6 
K2012    RED      C     7.7 
K2012    BLUE     C     9.6 
K2012    WHITE    C     7.5 
K2012    BLACK    C     8.9 

Я бы хотел, чтобы они выглядели так:

NAME  PROFILE  RED    WHITE BLACK BLUE
K2000    C     5.10                
K2001    B            7.11  5.12  5.2 
K2002    A     8.2                9.3 
K2006    D            5.5           
K2007    A            8.6         5.7 
K2009    D            8.8           
K2010    B                  5.9      
K2011    B     9.6                  
K2012    C     7.7    7.5   8.9   9.6 

С уважением,

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

Если вы хотите использовать PROC TABULATE для целей отчетности, вот подход

    proc tabulate data=have;
        class name profile color;
        var height;
        table name*profile,
              height=''*color=''*sum=''*f=best.;
    run;
0 голосов
/ 05 ноября 2019
data I_HAVE;
    infile datalines truncover firstobs=2;
    input
        @01 NAME    $5.
        @10 COLOR   $4.
        @19 PROFILE $1.
        @25 HEIGHT  4.2
        ;
    datalines;
----+----1----+----2----+----3
K2000    RED      C     5.10 
K2001    WHITE    B     7.11 
K2001    BLACK    B     5.12 
K2001    BLUE     B     5.2 
K2002    BLUE     A     9.3 
K2002    RED      A     8.2 
K2006    WHITE    D     5.5 
K2007    WHITE    A     8.6 
K2007    BLUE     A     5.7 
K2009    WHITE    D     8.8 
K2010    BLACK    B     5.9 
K2011    RED      B     9.6 
K2012    RED      C     7.7 
K2012    BLUE     C     9.6 
K2012    WHITE    C     7.5 
K2012    BLACK    C     8.9 
;

proc transpose data=I_HAVE out=I_NEED;
    by NAME PROFILE;
    id COLOR;
    var HEIGHT;
run;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...