全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2804 5
2010-11-09
关于频数分析的问题,请高手指点一二:

手里有一张Excel的表,数据量比较大,2万多行,列数不重要,如下:

anything1   主叫号码      anything2
-------------------------------------------------
XXXX         139xxxxx       XXXX
XXXX         138xxxxx       XXXX
...
...
--------------------------------------------------

在主叫号码一列,同一数据(同一手机用户)可能多次出现,但是anything1字段及anything2字段的数据不一样。

现在需要把出现次数比较多的用户数据(整行)提取出来,生成另一张Excel表(同样3个字段)。

关于实现的方法:
1,JMP
本人习惯偷懒,做频度分析喜欢用JMP的Parate图功能,直观,好用,但是这次由于数据量太大,做Parate图时
必须不停地加长X轴才能看清楚,很不方便(每天都要做)。可否利用JSL写一个脚本,只保留出现次数超过某个
设定门限的记录(用户)?

2,Excel
如果能用Excel本身实现,哪位指点一下?我毫无头绪,见笑!

3,SAS或者SPSS?
同上。

还望各位不吝赐教,多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-11-9 16:29:27
我这是用SAS做的,方法有点笨,抛个砖:
复制代码

test3既是你想要的。然后在proc export出去就OK了。。       BTW,2万数据对SAS来说算小的了。
二维码

扫码加我 拉你入群

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

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

2010-11-9 16:43:36
期待完整步骤,包括到导出
二维码

扫码加我 拉你入群

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

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

2010-11-9 21:53:34
非常感谢sopching,SAS一直在用分析家(偷懒。。。),编程刚入门,以后要多多向大家学习了!
二维码

扫码加我 拉你入群

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

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

2010-11-10 15:09:01
完整步骤:

data guangzhou;
set tu.v600;      //原始数据,由excel导入
where _COL2 is NOT NULL and _COL3="广州";       //读入广州地区的非空字段
run;

proc sql;
create table gz1 as
select *,count(*) as n from guangzhou group by _COL2; //按主叫号码分组,计数
run;

proc export data=gz1 (where=(n>5))   //取出频数大于5的记录,并输出到新的Excel文件中
outfile="C:\Users\项目资料\guangzhou.xls"  //输出的字段为_COLn,手动替换成原中文字段即可
dbms=excel
replace;
run;
quit;
二维码

扫码加我 拉你入群

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

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

2010-11-10 15:20:38
Restriction: PROC EXPORT does not support writing labels as column names. However, SAS does support column names up to 32 characters.

遗憾啊。。。
试过用ODS+Proc Print输出,部分字段的数据超过1024字符,总是有问题。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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