Tabulate

  • Follow


Dear All:
My portion of my data set is as follows:

Date     ID     Var
Mar1     A       1
Mar1     A       3
Mar1     A       10
Mar1     A       4
Mar1     A       5
Mar1     B       4
Mar1     B       5
Mar1     B       7
Mar2     A       2
Mar2     A       0
Mar2     A       3
Mar2     A       4
Mar2     A       1
Mar2     A       1
Mar2     B       9
Mar2     B       7
Mar2     B       6
Mar2     B       8

I want three categories
0-1  Category 1
2-5  Category 2
6-10 Category 3

My Table should look like

         A   PercentA     B   PercentB
Mar1
0-1      1    20%         0      0%
2-5      3    60%         2      67%
6-10     1    20%         1      33%
Mar2
0-1      3    60%         0      0%
2-5      2    40%         4     100%
6-10     0    0%          0      0%

Please help
0
Reply randistan69 (204) 12/14/2009 12:16:12 PM

proc format ;
value catfmt 0-1='Category 1'
      2-5='Category 2'
      6-10='Category 3';
run;

proc tabulate data=have;
class date var ID;

table date*var='',ID*(N*f=8. pctn<var>='%'*f=8.)/misstext='0';
format var catfmt.;
run;

HTH

Yu

On Mon, Dec 14, 2009 at 6:16 AM, Randy <randistan69@hotmail.com> wrote:

> Dear All:
> My portion of my data set is as follows:
>
> Date     ID     Var
> Mar1     A       1
> Mar1     A       3
> Mar1     A       10
> Mar1     A       4
> Mar1     A       5
> Mar1     B       4
> Mar1     B       5
> Mar1     B       7
> Mar2     A       2
> Mar2     A       0
> Mar2     A       3
> Mar2     A       4
> Mar2     A       1
> Mar2     A       1
> Mar2     B       9
> Mar2     B       7
> Mar2     B       6
> Mar2     B       8
>
> I want three categories
> 0-1  Category 1
> 2-5  Category 2
> 6-10 Category 3
>
> My Table should look like
>
>         A   PercentA     B   PercentB
> Mar1
> 0-1      1    20%         0      0%
> 2-5      3    60%         2      67%
> 6-10     1    20%         1      33%
> Mar2
> 0-1      3    60%         0      0%
> 2-5      2    40%         4     100%
> 6-10     0    0%          0      0%
>
> Please help
>
0
Reply zhangyu05 (659) 12/14/2009 2:58:24 PM


If there is no observation in a particular category how do get SAS to say 0
observations and 0%?
   Randy

On Mon, 14 Dec 2009 07:16:12 -0500, Randy <randistan69@HOTMAIL.COM> wrote:

>Dear All:
>My portion of my data set is as follows:
>
>Date     ID     Var
>Mar1     A       1
>Mar1     A       3
>Mar1     A       10
>Mar1     A       4
>Mar1     A       5
>Mar1     B       4
>Mar1     B       5
>Mar1     B       7
>Mar2     A       2
>Mar2     A       0
>Mar2     A       3
>Mar2     A       4
>Mar2     A       1
>Mar2     A       1
>Mar2     B       9
>Mar2     B       7
>Mar2     B       6
>Mar2     B       8
>
>I want three categories
>0-1  Category 1
>2-5  Category 2
>6-10 Category 3
>
>My Table should look like
>
>         A   PercentA     B   PercentB
>Mar1
>0-1      1    20%         0      0%
>2-5      3    60%         2      67%
>6-10     1    20%         1      33%
>Mar2
>0-1      3    60%         0      0%
>2-5      2    40%         4     100%
>6-10     0    0%          0      0%
>
>Please help
0
Reply randistan69 (204) 12/14/2009 11:57:53 PM

You can add the "printmiss" option:

proc tabulate data=have;
class date var ID;

table date*var='',ID*(N*f=8. pctn<var>='%'*f=8.)/misstext='0' *printmiss*;
format var catfmt.;
run;

Hope this helps.

Sid

On Mon, Dec 14, 2009 at 5:57 PM, Randy <randistan69@hotmail.com> wrote:

> If there is no observation in a particular category how do get SAS to say 0
> observations and 0%?
>    Randy
>
> On Mon, 14 Dec 2009 07:16:12 -0500, Randy <randistan69@HOTMAIL.COM> wrote:
>
> >Dear All:
> >My portion of my data set is as follows:
> >
> >Date     ID     Var
> >Mar1     A       1
> >Mar1     A       3
> >Mar1     A       10
> >Mar1     A       4
> >Mar1     A       5
> >Mar1     B       4
> >Mar1     B       5
> >Mar1     B       7
> >Mar2     A       2
> >Mar2     A       0
> >Mar2     A       3
> >Mar2     A       4
> >Mar2     A       1
> >Mar2     A       1
> >Mar2     B       9
> >Mar2     B       7
> >Mar2     B       6
> >Mar2     B       8
> >
> >I want three categories
> >0-1  Category 1
> >2-5  Category 2
> >6-10 Category 3
> >
> >My Table should look like
> >
> >         A   PercentA     B   PercentB
> >Mar1
> >0-1      1    20%         0      0%
> >2-5      3    60%         2      67%
> >6-10     1    20%         1      33%
> >Mar2
> >0-1      3    60%         0      0%
> >2-5      2    40%         4     100%
> >6-10     0    0%          0      0%
> >
> >Please help
>
0
Reply nsid31 12/15/2009 12:23:39 AM

I am making a mistake somewhere


proc format ;
value catfmt 0-1='Category 1' ;
2-10 ='Category 2' ;
11-20 ='Category 3';
21-30 ='Category 4';
31-40 ='Category 5'
41-50 ='Category 6';
51-60 ='Category 7';
61-70 ='Category 8';
71-80 ='Category 9' ;
81-90 ='Category 10';
91-100 ='Category 11';
run;

proc tabulate data = Have;
class date var ID;
table date*var='',ID*(N*f=8. pctn<var>='%'*f=8.)
/misstext='0' printmiss ;
format var catfmt.;
run;


When i run the code I am getting categories 12 13 14 etc....
What is my mistake?

On Mon, 14 Dec 2009 18:23:39 -0600, Sid N <nsid31@GMAIL.COM> wrote:

>You can add the "printmiss" option:
>
>proc tabulate data=have;
>class date var ID;
>
>table date*var='',ID*(N*f=8. pctn<var>='%'*f=8.)/misstext='0' *printmiss*;
>format var catfmt.;
>run;
>
>Hope this helps.
>
>Sid
>
>On Mon, Dec 14, 2009 at 5:57 PM, Randy <randistan69@hotmail.com> wrote:
>
>> If there is no observation in a particular category how do get SAS to say 0
>> observations and 0%?
>>    Randy
>>
>> On Mon, 14 Dec 2009 07:16:12 -0500, Randy <randistan69@HOTMAIL.COM> wrote:
>>
>> >Dear All:
>> >My portion of my data set is as follows:
>> >
>> >Date     ID     Var
>> >Mar1     A       1
>> >Mar1     A       3
>> >Mar1     A       10
>> >Mar1     A       4
>> >Mar1     A       5
>> >Mar1     B       4
>> >Mar1     B       5
>> >Mar1     B       7
>> >Mar2     A       2
>> >Mar2     A       0
>> >Mar2     A       3
>> >Mar2     A       4
>> >Mar2     A       1
>> >Mar2     A       1
>> >Mar2     B       9
>> >Mar2     B       7
>> >Mar2     B       6
>> >Mar2     B       8
>> >
>> >I want three categories
>> >0-1  Category 1
>> >2-5  Category 2
>> >6-10 Category 3
>> >
>> >My Table should look like
>> >
>> >         A   PercentA     B   PercentB
>> >Mar1
>> >0-1      1    20%         0      0%
>> >2-5      3    60%         2      67%
>> >6-10     1    20%         1      33%
>> >Mar2
>> >0-1      3    60%         0      0%
>> >2-5      2    40%         4     100%
>> >6-10     0    0%          0      0%
>> >
>> >Please help
>>
0
Reply randistan69 (204) 12/15/2009 2:07:46 AM

Randy,

Remove the misplaced semicolons.  I.e.,

proc format ;
value catfmt 0-1='Category 1'
2-10 ='Category 2'
11-20 ='Category 3'
21-30 ='Category 4'
31-40 ='Category 5'
41-50 ='Category 6'
51-60 ='Category 7'
61-70 ='Category 8'
71-80 ='Category 9'
81-90 ='Category 10'
91-100 ='Category 11';
run;

HTH,
Art
--------
On Mon, 14 Dec 2009 21:07:46 -0500, Randy <randistan69@HOTMAIL.COM> wrote:

>I am making a mistake somewhere
>
>
>proc format ;
>value catfmt 0-1='Category 1' ;
>2-10 ='Category 2' ;
>11-20 ='Category 3';
>21-30 ='Category 4';
>31-40 ='Category 5'
>41-50 ='Category 6';
>51-60 ='Category 7';
>61-70 ='Category 8';
>71-80 ='Category 9' ;
>81-90 ='Category 10';
>91-100 ='Category 11';
>run;
>
>proc tabulate data = Have;
>class date var ID;
>table date*var='',ID*(N*f=8. pctn<var>='%'*f=8.)
>/misstext='0' printmiss ;
>format var catfmt.;
>run;
>
>
>When i run the code I am getting categories 12 13 14 etc....
>What is my mistake?
>
>On Mon, 14 Dec 2009 18:23:39 -0600, Sid N <nsid31@GMAIL.COM> wrote:
>
>>You can add the "printmiss" option:
>>
>>proc tabulate data=have;
>>class date var ID;
>>
>>table date*var='',ID*(N*f=8. pctn<var>='%'*f=8.)/misstext='0' *printmiss*;
>>format var catfmt.;
>>run;
>>
>>Hope this helps.
>>
>>Sid
>>
>>On Mon, Dec 14, 2009 at 5:57 PM, Randy <randistan69@hotmail.com> wrote:
>>
>>> If there is no observation in a particular category how do get SAS to
say 0
>>> observations and 0%?
>>>    Randy
>>>
>>> On Mon, 14 Dec 2009 07:16:12 -0500, Randy <randistan69@HOTMAIL.COM>
wrote:
>>>
>>> >Dear All:
>>> >My portion of my data set is as follows:
>>> >
>>> >Date     ID     Var
>>> >Mar1     A       1
>>> >Mar1     A       3
>>> >Mar1     A       10
>>> >Mar1     A       4
>>> >Mar1     A       5
>>> >Mar1     B       4
>>> >Mar1     B       5
>>> >Mar1     B       7
>>> >Mar2     A       2
>>> >Mar2     A       0
>>> >Mar2     A       3
>>> >Mar2     A       4
>>> >Mar2     A       1
>>> >Mar2     A       1
>>> >Mar2     B       9
>>> >Mar2     B       7
>>> >Mar2     B       6
>>> >Mar2     B       8
>>> >
>>> >I want three categories
>>> >0-1  Category 1
>>> >2-5  Category 2
>>> >6-10 Category 3
>>> >
>>> >My Table should look like
>>> >
>>> >         A   PercentA     B   PercentB
>>> >Mar1
>>> >0-1      1    20%         0      0%
>>> >2-5      3    60%         2      67%
>>> >6-10     1    20%         1      33%
>>> >Mar2
>>> >0-1      3    60%         0      0%
>>> >2-5      2    40%         4     100%
>>> >6-10     0    0%          0      0%
>>> >
>>> >Please help
>>>
0
Reply art297 (4237) 12/15/2009 2:41:51 AM

IS it possible to flip the rows and columns
so now the output should look like

               0-1   2-5
Date Mar1
A
Percent A
B
Percent B
Mar1
A
Percent A
B
Percent B
On Mon, 14 Dec 2009 21:41:51 -0500, Arthur Tabachneck <art297@NETSCAPE.NET>
wrote:

>Randy,
>
>Remove the misplaced semicolons.  I.e.,
>
>proc format ;
>value catfmt 0-1='Category 1'
>2-10 ='Category 2'
>11-20 ='Category 3'
>21-30 ='Category 4'
>31-40 ='Category 5'
>41-50 ='Category 6'
>51-60 ='Category 7'
>61-70 ='Category 8'
>71-80 ='Category 9'
>81-90 ='Category 10'
>91-100 ='Category 11';
>run;
>
>HTH,
>Art
>--------
>On Mon, 14 Dec 2009 21:07:46 -0500, Randy <randistan69@HOTMAIL.COM> wrote:
>
>>I am making a mistake somewhere
>>
>>
>>proc format ;
>>value catfmt 0-1='Category 1' ;
>>2-10 ='Category 2' ;
>>11-20 ='Category 3';
>>21-30 ='Category 4';
>>31-40 ='Category 5'
>>41-50 ='Category 6';
>>51-60 ='Category 7';
>>61-70 ='Category 8';
>>71-80 ='Category 9' ;
>>81-90 ='Category 10';
>>91-100 ='Category 11';
>>run;
>>
>>proc tabulate data = Have;
>>class date var ID;
>>table date*var='',ID*(N*f=8. pctn<var>='%'*f=8.)
>>/misstext='0' printmiss ;
>>format var catfmt.;
>>run;
>>
>>
>>When i run the code I am getting categories 12 13 14 etc....
>>What is my mistake?
>>
>>On Mon, 14 Dec 2009 18:23:39 -0600, Sid N <nsid31@GMAIL.COM> wrote:
>>
>>>You can add the "printmiss" option:
>>>
>>>proc tabulate data=have;
>>>class date var ID;
>>>
>>>table date*var='',ID*(N*f=8. pctn<var>='%'*f=8.)/misstext='0' *printmiss*;
>>>format var catfmt.;
>>>run;
>>>
>>>Hope this helps.
>>>
>>>Sid
>>>
>>>On Mon, Dec 14, 2009 at 5:57 PM, Randy <randistan69@hotmail.com> wrote:
>>>
>>>> If there is no observation in a particular category how do get SAS to
>say 0
>>>> observations and 0%?
>>>>    Randy
>>>>
>>>> On Mon, 14 Dec 2009 07:16:12 -0500, Randy <randistan69@HOTMAIL.COM>
>wrote:
>>>>
>>>> >Dear All:
>>>> >My portion of my data set is as follows:
>>>> >
>>>> >Date     ID     Var
>>>> >Mar1     A       1
>>>> >Mar1     A       3
>>>> >Mar1     A       10
>>>> >Mar1     A       4
>>>> >Mar1     A       5
>>>> >Mar1     B       4
>>>> >Mar1     B       5
>>>> >Mar1     B       7
>>>> >Mar2     A       2
>>>> >Mar2     A       0
>>>> >Mar2     A       3
>>>> >Mar2     A       4
>>>> >Mar2     A       1
>>>> >Mar2     A       1
>>>> >Mar2     B       9
>>>> >Mar2     B       7
>>>> >Mar2     B       6
>>>> >Mar2     B       8
>>>> >
>>>> >I want three categories
>>>> >0-1  Category 1
>>>> >2-5  Category 2
>>>> >6-10 Category 3
>>>> >
>>>> >My Table should look like
>>>> >
>>>> >         A   PercentA     B   PercentB
>>>> >Mar1
>>>> >0-1      1    20%         0      0%
>>>> >2-5      3    60%         2      67%
>>>> >6-10     1    20%         1      33%
>>>> >Mar2
>>>> >0-1      3    60%         0      0%
>>>> >2-5      2    40%         4     100%
>>>> >6-10     0    0%          0      0%
>>>> >
>>>> >Please help
>>>>
0
Reply randistan69 (204) 12/15/2009 4:57:18 AM

6 Replies
110 Views

(page loaded in 0.093 seconds)

Similiar Articles:













7/27/2012 10:58:12 PM


Reply: