楼主: lemonxinran
30693 9

[问答] sas如何统计变量值出现的次数 [推广有奖]

  • 0关注
  • 1粉丝

已卖:2份资源

讲师

30%

还不是VIP/贵宾

-

威望
0
论坛币
1155 个
通用积分
6.0000
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
10334 点
帖子
188
精华
0
在线时间
605 小时
注册时间
2010-10-25
最后登录
2025-4-2

楼主
lemonxinran 发表于 2013-1-3 21:48:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
sas如何统计一个变量中的每个值出现了多少次,比如,我有一个数据集info, 其中一个变量是markettype,我想统计表中的markettype有几个取值,每个值出现几次?
除了proc freq可以用哪个程序?谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:变量值 market marke Mark type 统计 如何

沙发
ziyenano 发表于 2013-1-3 21:52:15
sql~

藤椅
yongyitian 发表于 2013-1-4 01:52:08
/* method 1 */
proc sql;
   select distinct(markettype) as mtype, count (markettype)
   from info
   group by mtype;
quit;

/* method 2: */
proc sort data=info out=info_1;
     by markettype;
run;

data info_2;
    set info_1;
        if first.markettype then count = 1;
           else count+1;
     if last.markettype then   output;
        by markettype;
run;

板凳
lemonxinran 发表于 2013-1-4 10:21:20
yongyitian 发表于 2013-1-4 01:52
/* method 1 */
proc sql;
   select distinct(markettype) as mtype, count (markettype)
谢谢!我试了一下,用以下两个程序也可以得到正确的结果:
1)proc sql;
   select markettype, count (markettype)
   from info
   group by markettype;
quit;
2)proc sql;
   select distinct(markettype) as mtype, count (*)
   from info
   group by mtype;
quit;
请问,count(*)和count(markettype)有什么区别吗?还有,您的第一个程序中为什么加了“distinct”?在什么情况下要加?谢谢啦!

报纸
冰雨狼 发表于 2013-1-4 10:40:58
lemonxinran 发表于 2013-1-4 10:21
谢谢!我试了一下,用以下两个程序也可以得到正确的结果:
1)proc sql;
   select markettype, count  ...
* 代表的是数据集中的所有变量。
例如:
proc sql;
select * from info;
quit;
结果为info数据集的全部内容。

distinct 是去除重复值函数。 “我想统计表中的markettype有几个取值”,其实你想要的是markettype中的非重复值,所以2楼的第一个程序里正好用到此函数。

地板
chai_prime 发表于 2013-1-4 13:28:59
为什么没人用tabulate....

7
lemonxinran 发表于 2013-1-4 20:15:25
冰雨狼 发表于 2013-1-4 10:40
* 代表的是数据集中的所有变量。
例如:
proc sql;
谢谢!

8
xiaoyu163 发表于 2013-1-5 13:18:16
学习了,前几楼的方法都很实用

9
SAS新手 发表于 2013-11-25 14:39:28
lemonxinran 发表于 2013-1-4 10:21
谢谢!我试了一下,用以下两个程序也可以得到正确的结果:
1)proc sql;
   select markettype, count  ...
请问统计出来每个变量里面的数值出现的频率后,如何统计某一数字连续出现的最大个数呢?

10
zl030739 发表于 2014-12-25 16:51:32
SAS新手 发表于 2013-11-25 14:39
请问统计出来每个变量里面的数值出现的频率后,如何统计某一数字连续出现的最大个数呢?
我也很想知道如何解决这个问题

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 19:28