楼主: Usic.
585 4

[有偿编程] 重金币悬赏急问一道SAS 日期题!! [推广有奖]

  • 0关注
  • 0粉丝

高中生

50%

还不是VIP/贵宾

-

威望
0
论坛币
329 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
161 点
帖子
13
精华
0
在线时间
36 小时
注册时间
2015-1-15
最后登录
2019-6-11

Usic. 发表于 2018-12-6 22:21:46 |显示全部楼层
200论坛币
高金币悬赏急求问一道SAS题谢谢!
数据集对WBC有三个不同日期的测量值,变量按顺序如下:
OBS ID WBC1 WBC2 WBC3 Date1 $ Date2 $ Date3 $
问:1,转换文本型变量date1 date2 date3 为SAS date values
       2,用mmddyy informat打印问题1中的日期值(Print the date values from ‘1’ using mmddyy informat. )
         3, We want to restructure this dataset from wide-format (also called multivariate format) to long format (also called univariate format). Use Array to restructure the data from wide-format to long-format for both WBC and date.

1 001 6734 7890 5698 23JAN2010 09APR2010 15OCT2010

2 002 4234 6759 4386 15FEB2010 01MAR2010 15MAY2010

3 003 9876 10390 8994 09JUL2010 14AUG2010 01NOV2010


谢谢!!

最佳答案

learsaas 查看完整内容

为了高金币,写一个

回帖推荐

learsaas 发表于4楼  查看完整内容

被骗了,到现在也没有金币
stata SPSS
learsaas 发表于 2018-12-6 22:21:47 |显示全部楼层
为了高金币,写一个
  1. /*1*/
  2. data a1;
  3.         set a(rename=(Date1=oldDate1 Date2=oldDate2  Date3=oldDate3));
  4.         array rr_a oldDate1-oldDate3;
  5.         array rr_b Date1-Date3;
  6.         do over rr_a;
  7.                 rr_b=input(rr_a,date9.);
  8.         end;
  9.         drop oldDate:;
  10. run;

  11. /*2*/
  12. proc print data= a1;
  13.         var Date:;
  14.         format Date: mmddyy10.;
  15. run;

  16. /*3*/
  17. data a3;
  18.    set a1;
  19.    attrib  WBC  length=$5;
  20.    attrib  DATE length=8 format=yymmdd10.;
  21.    array rr_a WBC1-WBC3;
  22.    array rr_b Date1-Date3;
  23.    do over rr_a;
  24.                    WBC=rr_a;
  25.                 DATE=rr_b;
  26.                 output;
  27.    end;
  28.    drop WBC1-WBC3 Date1-Date3;
  29. run;
复制代码
回复

使用道具 举报

sas9.4 发表于 2018-12-7 12:06:50 |显示全部楼层
本帖最后由 sas9.4 于 2018-12-7 14:34 编辑

data table;
infile cards;
input OBS ID $ WBC1 WBC2 WBC3 Date1 :date9.  Date2 :date9. Date3 :date9.;
format Date1 mmddyy10.  Date2 mmddyy10.  Date3 mmddyy10. ;
cards;
1 001 6734 7890 5698 23JAN2010 09APR2010 15OCT2010
2 002 4234 6759 4386 15FEB2010 01MAR2010 15MAY2010
3 003 9876 10390 8994 09JUL2010 14AUG2010 01NOV2010
;

proc print data= table ;
run;

data table1;
  set table;
  array datexx date1-date3;
  array wbcxx WBC1-WBC3;
  format date  mmddyy10. ;
  do i= 1 to 3 ;
  date= datexx;
  datevar=vname(datexx);
  WBC=wbcxx;
  WBCvar=vname(WBCxx);
  output;
  end;
  drop date1-date3 WBC1-WBC3 i;
run;

回复

使用道具 举报

learsaas 发表于 2018-12-11 15:50:00 |显示全部楼层
被骗了,到现在也没有金币
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Usic. + 1 + 1 + 1 鼓励积极发帖讨论

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

回复

使用道具 举报

Usic. 发表于 2019-1-8 02:58:55 |显示全部楼层
learsaas 发表于 2018-12-11 15:50
被骗了,到现在也没有金币
不好意思最近没到论坛看看。论坛币现在已经给你了。
回复

使用道具 举报

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

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

GMT+8, 2019-6-19 23:43