我正在处理一个保险数据集,其中包含第 1 天到第 365 天的覆盖状态 1(是)或 0(否)。我需要创建一个变量是 1 的总和,但仅到某一天,再次指定通过另一个变量,num days。在下面的数据集中,我想创建直到“NumDays”指定位置的天数总和。因此,A 的 sum 值将是 4、B - 2、C - 2、D-4 & E-1。我有什么想法可以做到这一点吗?谢谢!
ID Day2 Day3 Day4 Day5 Day6 NumDays Sum
A 1 1 1 0 1 5 ?
B 1 0 1 1 1 3 ?
C 1 1 1 1 1 2 ?
D 1 1 1 1 1 4 ?
E 1 1 1 1 1 1 ?
这是非常直接的。创建一个包含所有天数的数组,然后循环它们的第一个 NumDays 相加。
data want;
set have;
array d[*] day:;
do i=1 to NumDays;
if i <= dim(d) then
sum = sum(sum,d[i]);
end;
drop i;
run;
正如@Reeza 在评论中所说,请展示您的尝试。SO 不是代码编写服务。先试一试,然后问你是否卡住了。我给你这个。;-)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句