楼主: casterhowl
1373 2

关于年份的赋值 [推广有奖]

  • 0关注
  • 0粉丝

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
76 点
帖子
4
精华
0
在线时间
14 小时
注册时间
2014-11-21
最后登录
2019-10-31

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大神,有个问题困惑我很久,实在不能解决,还烦请各位帮助。
我现在有一系列数字类似于1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 5 6 7
data check;
input num @@;
        numlag=lag(num);
        retain policyyear;
        if missing(numlag) then policyyear=2013;
        else if numlag<num then policyyear=lag(policyyear);
        else if numlag>num then policyyear=lag(policyyear)+1;

datalines;
1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 5 6 7
;run;
我希望可以对于前1,2,3,4,5,6 都添加一个变量year为2013;
从第二个1开始,变量year为2014;
第三个1开始,变量year为2015;
我这边是举个例子,实际的数量每年都是不一致的;
我尝试使用lag函数来处理这个问题单但介于天杀lag函数先天性的在条件语句中的不和谐,一直不能成功;
还请各位大神给点建议,非常感谢。
二维码

扫码加我 拉你入群

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

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

关键词:missing Policy RETAIN Input check 2014

回帖推荐

wwang111 发表于2楼  查看完整内容

data check; input num @@; if _n_=1 then policyyear=2013; else if num=1 then policyyear+1; datalines; 1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 5 6 7 ;
沙发
wwang111 发表于 2017-1-24 11:39:02 |只看作者 |坛友微信交流群
data check;
input num @@;
     if _n_=1 then policyyear=2013;
         else if num=1 then policyyear+1;
datalines;
1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 5 6 7
;
已有 1 人评分经验 收起 理由
李会超 + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

使用道具

藤椅
casterhowl 发表于 2017-1-24 15:29:24 |只看作者 |坛友微信交流群
wwang111 发表于 2017-1-24 11:39
data check;
input num @@;
     if _n_=1 then policyyear=2013;
多谢指教!非常有效

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 18:34