sas lag 或 retain数据是 9/1 25%9/2 50%9/3 70%9/4 10%9/5 20%9/6 32%9/7 18%我想得出的结果是 取3天的平均数 去分别比较第4,5,6,7号 的 值 ,如果差别大于20% 就等于 true.以此类推,再取下一组 3天 分别比较 第5,6
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/08 14:52:18
![sas lag 或 retain数据是 9/1 25%9/2 50%9/3 70%9/4 10%9/5 20%9/6 32%9/7 18%我想得出的结果是 取3天的平均数 去分别比较第4,5,6,7号 的 值 ,如果差别大于20% 就等于 true.以此类推,再取下一组 3天 分别比较 第5,6](/uploads/image/z/9925086-30-6.jpg?t=sas+lag+%E6%88%96+retain%E6%95%B0%E6%8D%AE%E6%98%AF+9%2F1+25%259%2F2+50%259%2F3+70%259%2F4+10%259%2F5+20%259%2F6+32%259%2F7+18%25%E6%88%91%E6%83%B3%E5%BE%97%E5%87%BA%E7%9A%84%E7%BB%93%E6%9E%9C%E6%98%AF+%E5%8F%963%E5%A4%A9%E7%9A%84%E5%B9%B3%E5%9D%87%E6%95%B0+%E5%8E%BB%E5%88%86%E5%88%AB%E6%AF%94%E8%BE%83%E7%AC%AC4%2C5%2C6%2C7%E5%8F%B7+%E7%9A%84+%E5%80%BC+%2C%E5%A6%82%E6%9E%9C%E5%B7%AE%E5%88%AB%E5%A4%A7%E4%BA%8E20%25+%E5%B0%B1%E7%AD%89%E4%BA%8E+true.%E4%BB%A5%E6%AD%A4%E7%B1%BB%E6%8E%A8%2C%E5%86%8D%E5%8F%96%E4%B8%8B%E4%B8%80%E7%BB%84+3%E5%A4%A9+%E5%88%86%E5%88%AB%E6%AF%94%E8%BE%83+%E7%AC%AC5%2C6)
sas lag 或 retain数据是 9/1 25%9/2 50%9/3 70%9/4 10%9/5 20%9/6 32%9/7 18%我想得出的结果是 取3天的平均数 去分别比较第4,5,6,7号 的 值 ,如果差别大于20% 就等于 true.以此类推,再取下一组 3天 分别比较 第5,6
sas lag 或 retain
数据是 9/1 25%
9/2 50%
9/3 70%
9/4 10%
9/5 20%
9/6 32%
9/7 18%
我想得出的结果是 取3天的平均数 去分别比较第4,5,6,7号 的 值 ,如果差别大于20% 就等于 true.以此类推,再取下一组 3天 分别比较 第5,6 ,7号的值 如果差别大于20% 就等于 true.,以此类推.(就是先取1,2,3 的 平均数 和 4,5,6,7 号 比 ,再 做2,3,4 的平均数再和 5,6,7 比 ,取3,4,5 和 6,7 比,最后 做4,5,6 的平均数 和 7 比)
sas lag 或 retain数据是 9/1 25%9/2 50%9/3 70%9/4 10%9/5 20%9/6 32%9/7 18%我想得出的结果是 取3天的平均数 去分别比较第4,5,6,7号 的 值 ,如果差别大于20% 就等于 true.以此类推,再取下一组 3天 分别比较 第5,6
data test;
input month $ val percent5.;
cards;
9/1 25%
9/2 50%
9/3 70%
9/4 10%
9/5 20%
9/6 32%
9/7 18%
;
run;
*将后面的数据前提,使得第1233457,23456,34567,4567,567,67,7值单独一行;
Data test2;
merge test
test(firstobs=2 keep=val rename=(val=nextval2))
test(firstobs=3 keep=val rename=(val=nextval3))
\x09\x09test(firstobs=4 keep=val rename=(val=nextval4))
\x09\x09test(firstobs=5 keep=val rename=(val=nextval5))
\x09\x09test(firstobs=6 keep=val rename=(val=nextval6))
\x09\x09test(firstobs=7 keep=val rename=(val=nextval7));
run;
*计算123平均值与第4567、234与第567、345与第67、456与第7个数据相减;
data test3;
set test2;
com1 =abs( mean(val, nextval2, nextval3) - nextval4);
com2 =abs( mean(val, nextval2, nextval3) - nextval5);
com3 =abs( mean(val, nextval2, nextval3) - nextval6);
com4 =abs( mean(val, nextval2, nextval3) - nextval7);
run;
*与20%进行比较,判断TRUE和FALSE;
data test4;
set test3;
if com1 > 0.2 then flag1='TRUE' ; else if com1=. then flag1=.; else flag1='FALSE';
if com2 > 0.2 then flag2='TRUE' ; else if com2=. then flag2=.; else flag2='FALSE';
if com3 > 0.2 then flag3='TRUE' ; else if com3=. then flag3=.; else flag3='FALSE';
if com4 > 0.2 then flag4='TRUE' ; else if com4=. then flag4=.; else flag4='FALSE';
*keep month val flag1 flag2 flag3 flag4;
run;