作者BugEater (无庸)
看板Statistics
标题Re: [程式]累积计数问题之2
时间Fri Dec 13 05:10:33 2013
这是不是你要用的啊?
其实我看不懂你到底要做什麽。。。
data apple;
set apple;
by ABC;
retain ij remain;
if first.ABC then do;
IJ = DEF;
remain = GH-DEF;
end;
else do;
IJ = min(remain,def);
remain = remain - IJ;
end;
run;
※ 引述《ajipon (阿蛮)》之铭言:
: ------------------------------------------------------------------------
: [软体程式类别]:
: SAS
: [程式问题]:
: 资料处理
: [软体熟悉度]:
: 新手(不到1个月)
: [问题叙述]:
: 大家好,不好意思又要麻烦各位帮我看看了
: 以下是关於之前计数问题的延伸
: ABC DEF GH
: A 2 8
: A 3 8
: A 2 8
: A 3 8
: B 2 2
: B 1 2
: C 1 4
: C 2 4
: C 2 4
: 原始资料如上,现在,我想要再多加一栏
: ABC DEF GH IJ remain
: A 2 8 2 6
: A 3 8 3 3
: A 2 8 2 1
: A 3 8 1 0
: B 2 2 2 0
: B 1 2 0 0
: C 1 4 1 3
: C 2 4 2 1
: C 2 4 1 0
: 这里,我用ABC来分组,GH栏为同一群组IJ加总的个数,同一群组的IJ栏加总
: 要等於GH,且每一列的IJ值不能超过DEF值
: 其中,remain为辅助计算用,并没有特别意义
: 以A为例 2+3+2+1=8
: 以B为例 2+0=2
: 我试着用大大之前的程式码写写看,但一直跑不出来,不知道是哪里出错了
: 各位请看一下
: proc sort data = apple;
: by ABC;
: run;
: data apple;
: set apple;
: by ABC;
: retain ;
: if first.ABC then do;
: IJ = DEF;
: remain = GH-DEF;
: end;
: IJ = min(lag(remain),ftq);
: remain = lag1(remain) - IJ;
: run;
: 先谢谢各位啦!!
--
—
I came like Water, and like Wind I go.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 129.93.111.32
1F:推 ajipon:谢谢 问题已解决 12/14 00:24