全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1915 11
2016-06-23
现有6种产品和10位客户的使用情况如下表,其中1=使用,0=不使用,“.”=数据缺失:
客户/产品名称b1b2b3b4b5b6
a1010010
a2110101
a3100..1
a4011111
a5000100
a6000000
a7101111
a8.01000
a91.1011
a10001101
要求: 按上述信息将客户使用产品情况统计整理后填入下表:
使用产品数客户人数占总人数%95%可信区间
使用1种
使用2种
使用3种
使用≥4种
合计


楼主是个SAS小白,只会非常基础的SAS入门,很多函数的意义也还不太清楚,恳请大神指教!还请大神们在写程序的时候注一下程序的用途或者意义。非常感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-6-23 20:34:55
复制代码


这个的话还得手动填, 不知道你是不是要自动生成的数据集?
二维码

扫码加我 拉你入群

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

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

2016-6-23 21:17:30
吕小布韦 发表于 2016-6-23 20:34
这个的话还得手动填, 不知道你是不是要自动生成的数据集?
谢谢回复 。 不过这段程序
sum=sum(of product1-product6);
if sum<=3 then label=sum;
else label='>3';
只能是对是用<=3种或>3种产品的客户做个标记吧?并不能实现表格要求的1种、2种、3种和4种及以上的分组要求。
并且,因为有缺失值的存在,虽然个别变量存在缺失,但有缺失的观测并不排除在统计量之外。所以单纯用求和的方法似乎不能满足分组要求?
二维码

扫码加我 拉你入群

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

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

2016-6-23 21:30:10
<=3的情况下,label的值就是sum的值,sum是1就是1,所以能分开1,2,3

如果所有的值都缺失, 则label也缺失,在freq中也能体现出来, 如果你想要把label=0和label=. 则再加一个if就好.

你直接放到sas里运行一下看一下结果就知道了.
二维码

扫码加我 拉你入群

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

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

2016-6-23 21:32:01
复制代码


这是运行结果,第一行是所有六个产品都为缺失的
二维码

扫码加我 拉你入群

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

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

2016-6-23 22:35:57
吕小布韦 发表于 2016-6-23 21:32
这是运行结果,第一行是所有六个产品都为缺失的
谢谢,可能是我没讲清楚缺失,咱们的理解不一样。刚我自己跑了一个:
data a;
input name$3. b1 b2 b3 b4 b5 b6;
cards;
a1        0        1        0        0        1        0
a2        1        1        0        1        0        1
a3        1        0        0        .        .        1
a4        0        1        1        1        1        1
a5        0        0        0        1        0        0
a6        0        0        0        0        0        0
a7        1        0        1        1        1        1
a8        .        0        1        0        0        0
a9        1        .        1        0        1        1
a10        0        0        1        1        0        1
;
run;
data a;
set a;
if b1=1 then m=1;
else m=0;
array n[5] b2 b3 b4 b5 b6;
do i=1 to 5;
if n=1 then m=m+1;
end;
drop i;
if m=0 then group=0;
if m=1 then group=1;
if m=2 then group=2;
if m=3 then group=3;
if m>=4 then group=4;
proc freq ;
table group;
run;

结果:


group频数百分比累积
频数
累积
百分比
0110.00110.00
1220.00330.00
2220.00550.00
3110.00660.00
4440.0010100.00






二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群