SAS学习笔记(四)——关于数据整合的几个细节

1)数据合并

纵向合并是指不同用户的相同字段信息进行合并,将表变长了啊~~用set temp1 temp2;

横向合并是指相同用户的不同字段进行扩展,将表变胖了啊~~用merge temp1 temp2;

2)数据汇总

比如对同一个用户,在一个月内有好几条交易额信息,我们只想知道他一个月的总和,那么就要对数据进行汇总。

可以用first. last.这样的指令,但在用着两个指令之前要对数据集进行排序;

proc sort;

by id  **;(**是指要用到first.last.指令的变量)

run;

/*汇总数据*/

if first.** then total_a=0;(每组要输出的数据都会被初始化为0)

every_a +total_a;(累加每组数据中的每一项)

if last.** then output;

3)数据转置

由于数据建模需要有唯一ID,我们像步骤2中处理得到的数据,ID仍然不是唯一的,那么我们需要把用户不同月份的交易数据放在同一个ID下。

proc transpose data=temp out=temp1

prefix=total_a;/*需要转置后新变量的前缀*/例如每月交易量名称

by id;/*指定要分组的变量,也就是唯一变量*/ 例如交易索引号

var total_a;/*要转置的变量*/  例如每月交易量

id  b;/*指定变量的值作为转置后新变量的后缀*/ 例如月份

run;

4)删除重复项

检查ID 是否唯一,且每个ID下的变量是否都是唯一的。




  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值