DATA Step, Macro, Functions and more

Weighting issue in Proc Tabulate

Reply
Occasional Contributor
Posts: 12

Weighting issue in Proc Tabulate

Hi

 

I am trying to generate weighted percentages by using the below codes but it generates un-weigted percentages.

My weight variable is discwt

 

 

data redo_t1;
	input ID discwt 3.1 cat_flag race;
	datalines; 
		01 0.2 1 1
		02 0.4 1 2
		03 0.4 1 1
		04 0.4 1 2
		05 0.4 1 1
		06 0.1 3 2
		07 1.2 3 1
		08 0.4 3 2
		09 1.0 3 1
		10 0.4 3 2
	;
run;

proc tabulate data = work.redo_t1;
	title 'Table 1a';
	class cat_flag race ; 
	table race, (cat_flag)*(N colpctn);
	var discwt / weight = discwt;
	weight discwt;
run;

 

Respected Advisor
Posts: 3,057

Re: Weighting issue in Proc Tabulate

[ Edited ]

I don't know what you are trying to do here, but you can't weight a variable by itself. That simply doesn't make any sense from a mathematical point of view. Please type in the desired output from this data set, and how the desired output is computed, and perhaps someone can generate code to produce the desired output.

--
Paige Miller
Super User
Posts: 23,771

Re: Weighting issue in Proc Tabulate

data redo_t1;
	input ID discwt 3.1 cat_flag race;
    counter=1;
	datalines; 
		01 0.2 1 1
		02 0.4 1 2
		03 0.5 1 1
		04 0.4 1 2
		05 0.4 1 1
		06 0.1 3 2
		07 1.2 3 1
		08 0.4 3 2
		09 1.0 3 1
		10 0.4 3 2
	;
run;

title 'with weights';
proc tabulate data = work.redo_t1;
	title 'Table 1a';
	class cat_flag race ; 
    var counter;
    weight discwt;
	table race, (cat_flag)*counter*(sum colpctn);

run;
Occasional Contributor
Posts: 12

Re: Weighting issue in Proc Tabulate

Thanks for the revert.

I tried the code, it does gives me weighted count but the percentages from
'COLPCTN' are still unweighted.
Ask a Question
Discussion stats
  • 3 replies
  • 68 views
  • 0 likes
  • 3 in conversation