楼主: moonstone
6642 2

[原创博文] 如何同时加权频数权重和抽样权重来计算频数,^_^ [推广有奖]

已卖:1871份资源

讲师

74%

还不是VIP/贵宾

-

威望
0
论坛币
10497 个
通用积分
369.1083
学术水平
160 点
热心指数
169 点
信用等级
124 点
经验
274256 点
帖子
237
精华
1
在线时间
520 小时
注册时间
2007-4-27
最后登录
2024-12-6

楼主
moonstone 发表于 2010-8-23 22:59:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现有以下数据
data a;
input smoking frq wgt;
cards;
1 3 2.28
1 2 3.50
0 1 2.67
0 2 0.56
;
run;

其中:smoking代表吸烟,frq为频数,wgt为抽样所导致的个体权重,现在想计算吸烟率
问题是:
1、 采用proc freq 不能同时加权频数权重和抽样权重;

2、 采用proc tablutale,加权(weight)只能是对分析变量(var)有用,对分类变量(class)不起作用,不清楚是什么原因,也即下面程序中,将var smoking换成 class smoking,结果就会不一样,实际上也是不能同时加权频数权重和抽样权重。
proc tabulate data=a format=12.6 out=a1;
var smoking;
table smoking all/ rts=8;
freq frq;
weight wgt;
run;

如果谁知道怎么解决这个问题,希望能交流一下,非常感谢,^_^
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Tabulate Weight format Eight weigh 如何 程序

回帖推荐

bobguy 发表于2楼  查看完整内容

There is a simple trick you can do. See example below. data a; input smoking frq wgt; totalweight= frq*wgt; smoking2=smoking; cards; 1 3 2.28 1 2 3.50 0 1 2.67 0 2 0.56 ; proc tabulate data=a format=12.6 out=a1; class smoking2; var smoking; table smoking2=' ',smoking all/ rts=8; *freq frq; *weight wgt; weight totalweight; run; proc tabulate data=a format=12.6 ...

本帖被以下文库推荐

沙发
bobguy 发表于 2010-8-28 09:42:34
moonstone 发表于 2010-8-23 22:59
现有以下数据
data a;
input smoking frq wgt;
cards;
1 3 2.28
1 2 3.50
0 1 2.67
0 2 0.56
;
run;

其中:smoking代表吸烟,frq为频数,wgt为抽样所导致的个体权重,现在想计算吸烟率
问题是:
1、 采用proc freq 不能同时加权频数权重和抽样权重;

2、 采用proc tablutale,加权(weight)只能是对分析变量(var)有用,对分类变量(class)不起作用,不清楚是什么原因,也即下面程序中,将var smoking换成 class smoking,结果就会不一样,实际上也是不能同时加权频数权重和抽样权重。
proc tabulate data=a format=12.6 out=a1;
var smoking;
table smoking all/ rts=8;
freq frq;
weight wgt;
run;

如果谁知道怎么解决这个问题,希望能交流一下,非常感谢,^_^
There is a simple trick you can do. See example below.

data a;
input smoking frq wgt;
totalweight= frq*wgt;
smoking2=smoking;
cards;
1 3 2.28
1 2 3.50
0 1 2.67
0 2 0.56
;


proc tabulate data=a format=12.6 out=a1;
class smoking2;
var smoking;
table smoking2=' ',smoking all/ rts=8;
*freq frq;
*weight wgt;
weight     totalweight;
run;


proc tabulate data=a format=12.6 out=a1;
class smoking2;
var smoking;
table smoking2=' ',smoking all/ rts=8;
freq frq;
weight wgt;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

藤椅
tylerconan 发表于 2015-3-9 14:01:16
surveyfreq

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 14:33