全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4020 9
2010-03-26
customerid purchasetime
1                  2009-2-3
1                  2009-2-5
2                  2010-1-2
2                  2010-3-4


以上为data format, 想求平均第一次购买和第二次购买的时间间隔,平均第二次购买和第三次购买时间间隔,。。。。。

谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2010-3-26 11:07:34
data crackman;
input customerid purchasetime $@;
year=input(substr(purchasetime,1,4),F4.);
month=input(substr(purchasetime,6,7),F2.);
day=input(substr(purchasetime,8,9),F2.) ;
date=mdy(month,day,year);
drop year month day;
cards;
1                  2009-2-3
1                  2009-2-5
2                  2010-1-2
2                  2010-3-4
3                  2010-9-6
3                  2010-9-9
;
run;

proc sql;
create table crackman1 as
select mean(date) as datemean  from crackman group by customerid;
quit;
data a;
set crackman1;
b=lag(datemean);
result=datemean-b;
drop b;
run;
二维码

扫码加我 拉你入群

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

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

2010-3-26 11:08:52
其实有个问题
就是你的日期格式
如果是2010-09-19
或者是2010-12-09
这个问题就需要高手来解决了
只是一个抛砖引玉的作用
二维码

扫码加我 拉你入群

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

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

2010-3-26 11:31:37
data test1;
input n dt $;
date=input(dt,yymmdd10.);
cards;
1                  2009-2-3
1                  2009-2-5
2                  2010-1-2
2                  2010-3-4
run;

proc means data=test1 mean;
by n;
var date;
output out=test2 mean=meandate;
run;
data diff(keep=n difdate);
set test2;
difdate=meandate-lag(meandate);
if n =1 then delete;
run;
二维码

扫码加我 拉你入群

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

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

2010-3-26 11:49:04
谢谢你,

是标准日期格式,

但是需求是求总体的平均第一次和第二次购买时间间隔,可能一个人购买5次,一个人只购买1次,
求整体平均的

可能是我刚才没说明白

十分十分感谢你
二维码

扫码加我 拉你入群

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

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

2010-3-26 11:49:58
复制代码
没仔细测,看看可以不
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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