由买买提看人间百态

topics

全部话题 - 话题: nameid
(共0页)
s******r
发帖数: 1524
1
来自主题: Statistics版 - SAS code - help needed. 8 个包子酬谢
都抢上了,只好不客气了。
data aaa;
input nameid year indicator;
datalines;
1 1988 1
1 1989 1
1 1990 0
2 1985 0
2 1986 1
2 1987 0
2 1988 1
2 1989 0
2 1990 1
2 1991 1
;
run;
proc sql;
select a.nameid, a.year, sum(b.indicator)
from aaa a inner join aaa b
on a.nameid=b.nameid and a.year>=b.year
group by a.nameid,a.year;quit;run;
s***r
发帖数: 1121
2
来自主题: Statistics版 - SAS code - help needed. 8 个包子酬谢
数据的样子如下:
NameID Year Indicator
1 1988 1
1 1989 1
1 1990 0
2 1985 0
2 1986 1
2 1987 0
2 1988 1
2 1989 0
2 1990 1
2 1991 1
... ....
我想算出对于每一个NAMEID, 在每一年(包括所有以前的年份),有多少的INDICATOR
是1?
例如,对于NameID ”1“ 来说,在1989年和1989年之前,它总共有2个INDICATOR是”1
“。 同样,在1990 年,它仍然有2个INDICATOR是”1“。 依此类推。 有点象moving
average, 只不过更象moving sum.
谢谢。
k*******a
发帖数: 772
3
来自主题: Statistics版 - SAS code - help needed. 8 个包子酬谢
这个行吗
data a;
input nameid year indicator;
datalines;
1 1988 1
1 1989 1
1 1990 0
2 1985 0
2 1986 1
2 1987 0
2 1988 1
2 1989 0
2 1990 1
2 1991 1
;
data a;
set a;
by nameid year;
if first.nameid then sum=0;
sum+indicator;
proc print;run;
o****o
发帖数: 8077
4
来自主题: Statistics版 - SAS code - help needed. 8 个包子酬谢
data test;
input NameID Year Indicator ;
datalines;
1 1988 1
1 1989 1
1 1990 0
2 1985 0
2 1986 1
2 1987 0
2 1988 1
2 1989 0
2 1990 1
2 1991 1
;
run;
proc expand data=test out=test;
by NameID;
convert indicator=is/transformout=(cusum);
run;
baozi pls. 3ks
l****u
发帖数: 529
5
来自主题: Statistics版 - SAS code - help needed. 8 个包子酬谢
proc sql;
select sum(indicator)
from a
group by nameid,year;
quit;
(共0页)