楼主: 翔空猛龙521
2842 5

利用SAS求某时刻的前一天与后一天同时刻的平均值!! [推广有奖]

  • 0关注
  • 0粉丝

初中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
613 点
帖子
14
精华
0
在线时间
12 小时
注册时间
2015-2-2
最后登录
2015-11-16

楼主
翔空猛龙521 发表于 2015-10-27 21:36:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据在附件里。由于数据在某天的某时刻丢失,所以要进行插补,方法就是选择前一天此时刻的值加上后一天此时刻的值,求平均,不知我表述的是否明确,谢谢各位朋友帮忙了,不胜感激!
二维码

扫码加我 拉你入群

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

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

关键词:平均值 不胜感激 求平均 平均值

沙发
翔空猛龙521 发表于 2015-10-27 21:43:44
求编码,小弟先行谢过!

藤椅
翔空猛龙521 发表于 2015-10-28 15:45:03
翔空猛龙521 发表于 2015-10-27 21:43
求编码,小弟先行谢过!
急急急,大神们,求求了

板凳
我是李淇 发表于 2021-7-7 15:53:49
有找到代码吗?

报纸
wang1839 在职认证  发表于 2021-9-28 10:10:43
        PROC IMPORT OUT=time
            DATAFILE= "C:\Users\wang\Desktop\ori.xlsx"
            DBMS=EXCEL  REPLACE;
            GETNAMES=YES;
                mixed=yes;
                SHEET="sheet1";
        RUN;


        data time1 time2(drop=dtl dth);
                set time;
                h=hour(time);
                m=minute(time);
                s=second(time);
                datetime=dhms(date,h,m,s);
                if Lt=. then do;
                dtl=datetime-3600*24;
                dth=datetime+3600*24;
                end;
                if lt=. then output time1;
                else output time2;
                drop h m s;
        run;

    proc sort data=time1;
          by dtl;
        run;

          proc sort data=time2;
          by datetime;
        run;


        data s1;
                merge time1(in=a)  time2(rename=(datetime=dtl lt=ltl))  ;
                by dtl;
                if a;
        run;

   data s2;
                merge s1(in=a)  time2(rename=(datetime=dth lt=lth))  ;
                by dth;
                if a;
        lt=mean(ltl,lth);
                drop dtl dth ltl lth;
        run;


   data sum;
     set s2 time2;
         by datetime;
   run;

地板
wang1839 在职认证  发表于 2021-9-28 14:58:54
PROC IMPORT OUT=time
            DATAFILE= "C:\Users\wang\Desktop\ori.xlsx"
            DBMS=EXCEL  REPLACE;
            GETNAMES=YES;
                mixed=yes;
                SHEET="sheet1";
        RUN;


        data time1 time2(drop=dtl dth);
                set time;
                h=hour(time);
                m=minute(time);
                s=second(time);
                datetime=dhms(date,h,m,s);
                if Lt=. then do;
                dtl=datetime-3600*24;
                dth=datetime+3600*24;
                end;
                if lt=. then output time1;
                else output time2;
                drop h m s;
        run;


data t1;
        set time1;
        do i=1 to all;
        set  time2( rename=(datetime=dt lt=ltl)) nobs=all point=i;
        if dtl=dt then output;end;
        drop dt;
run;


data t2;
        set t1;
        do i=1 to all;
        set  time2( rename=(datetime=dt lt=lth)) nobs=all point=i;
        if dth=dt then output;
    end;
        drop dt  dtl dth;
run;

data t3;
        set t2;
        lt=mean(ltl,lth);
        drop ltl lth;
run;

   data sum;
     set t3 time2;
   run;

proc sort data=sum out=sum1(drop=datetime) ;
        BY datetime;
RUN;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 05:14