楼主: yz830215
3940 13

求助高手:统计频数 proc mens; [推广有奖]

  • 0关注
  • 0粉丝

大专生

66%

还不是VIP/贵宾

-

威望
0
论坛币
107 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1628 点
帖子
33
精华
0
在线时间
71 小时
注册时间
2008-3-5
最后登录
2016-6-3

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

 使用PROC MEAN 可以统计出每个变量缺失值的频数,

那我想统计指定值的频数怎么做?

假设一个数据集有多个变量,且变量名字没有规律.要查出每个变量中1的数值是多少个?并输出到新的数据集中.每个变量对应一个频数.

请高手赐教.谢谢

[此贴子已经被作者于2009-6-5 15:07:53编辑过]

二维码

扫码加我 拉你入群

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

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

关键词:mens 求助高手 ROC MEN 多个变量 统计 高手 proc 频数 mens

回帖推荐

rdzr 发表于3楼  查看完整内容

对不起,LZ,上面的程序 在 input x y @@ 后面 少了一个 分号(;),所以有误,特更正如下:data a;input x y @@;cards;1 1 2 2 1 1 2 2 1 1;proc sql; create table Number as   select count(x) as Nx, count(y) as Ny   from a  where x=1 & y=1;quit;proc print data=Number;run;下面是正确的运行结果:               &n ...

本帖被以下文库推荐

沙发
rdzr 发表于 2009-6-5 14:02:00 |只看作者 |坛友微信交流群

Lz,请参考下面的程序:

data a;

input x y @@

cards;

1 1 2 2 1 1 2 2 1 1

;

proc sql;

 create table Number as

  select count(x) as Nx, count(y) as Ny

  from a

  where x=1 & y=1;

quit;

proc print data=Number;

run;

运行结果如下:

                                         The SAS System          12:54 Saturday, June 5, 2009   4

                                         Obs    Nx    Ny

                                          1      2     2

使用道具

藤椅
rdzr 发表于 2009-6-5 14:08:00 |只看作者 |坛友微信交流群

对不起,LZ,上面的程序 在 input x y @@ 后面 少了一个 分号(;),所以有误,特更正如下:

data a;

input x y @@;

cards;

1 1 2 2 1 1 2 2 1 1

;

proc sql;

 create table Number as

  select count(x) as Nx, count(y) as Ny

  from a

  where x=1 & y=1;

quit;

proc print data=Number;

run;

下面是正确的运行结果:

                                         The SAS System          12:54 Saturday, June 5, 2009   6

                                         Obs    Nx    Ny

                                          1      3     3

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

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

使用道具

板凳
yz830215 发表于 2009-6-5 14:22:00 |只看作者 |坛友微信交流群
不好意思啊,我的变量很多,好象也不能用*来代替所有的变量,有没搞一种循环之类的

[此贴子已经被作者于2009-6-5 15:04:25编辑过]

使用道具

报纸
yz830215 发表于 2009-6-5 15:56:00 |只看作者 |坛友微信交流群
唉.SAS里面的循环还真不好用哈

使用道具

地板
rdzr 发表于 2009-6-5 18:48:00 |只看作者 |坛友微信交流群
lz, 循环要求变量名具有规律性,看来还是期待高手吧,谢谢

使用道具

7
yz830215 发表于 2009-6-5 19:44:00 |只看作者 |坛友微信交流群

能搞成循环是数组的形式样子么?只知道个概念,不太会搞

使用道具

8
456852 发表于 2009-6-6 13:39:00 |只看作者 |坛友微信交流群
我只能给你结果,生成数据集比较麻烦,还没想好,你可以参考下面的code:
data ss;
input x y z @@;
cards;
1 2 3 4 5 1 7 2 1 5 6 1 6 4 2
;
proc contents out=d noprint;run;
proc sql;
select name into:dd separated by ' '
from d;
quit;
proc format;
value s
1='1'
other='others';
run;
proc freq data=ss;table &dd/out=c;format &dd s.;run;

使用道具

9
jingju11 发表于 2009-6-6 22:41:00 |只看作者 |坛友微信交流群

data ss;
input x y z @@;
cards;
1 2 3 4 5 1 7 2 1 5 6 1 6 4 2
;

run;


proc sql noprint;select name into:dd separated by ' 'from d;select cats('_N1_',name) into:dd1 separated by ' 'from d;quit;

data ss1(keep=_n1_:);set ss end=endof;retain &dd1;array Ary{*} ⅆarray _Ary{*} &dd1.;do i=1 to dim(Ary);_ary{i}+(ary{i}=1);end;if endof;run;

使用道具

10
jingju11 发表于 2009-6-6 22:42:00 |只看作者 |坛友微信交流群
sorry, i am wrong. ignore it!

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 16:58