全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2911 3
2018-11-27
悬赏 20 个论坛币 已解决
比如:
data a;
  input x1 x2 x3 x4;
  cards;
  1 2 3 .
  .  2 5 3
  2 .  6 4
  4 3  2 5

  ;
run;

生成
x1 x2 x3 x4
1   2   3    .
2   5   3    .
2   6   4    .
4   3   2    5
谢谢!



最佳答案

l1i2n3i4n5g 查看完整内容

data a; input x1 x2 x3 x4; cards; 1 2 3 . . 2 5 3 2 . 6 4 4 3 2 5 ; run; data b; set a; y=catx('.',of x1-x4); array x[*] x1-x4; do i=1 to dim(x); x=input(scan(y,i),best12.); end; keep x1-x4; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2018-11-27 10:45:17
data a;
   input x1 x2 x3 x4;
cards;
1 2 3 .
. 2 5 3
2 . 6 4
4 3 2 5
;
run;

data b;
   set a;
   y=catx('.',of x1-x4);
   array x[*] x1-x4;
   do i=1 to dim(x);
      x[i]=input(scan(y,i),best12.);
   end;
   keep x1-x4;
run;
二维码

扫码加我 拉你入群

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

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

2018-11-27 14:14:31
为了20个论坛币,写一段:
复制代码
二维码

扫码加我 拉你入群

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

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

2018-11-28 00:27:17
变量数少的话,用retain也行。代码啰嗦,但好理解。并且可以并进一步。

data a(drop = x1-x4);
retain y1 y2 y3 y4 .;
  input x1 x2 x3 x4 ;
  if x1 ne . then y1=x1;
  if x2 ne . then y2=x2;
  if x3 ne . then y3=x3;
  if x4 ne . then y4=x4;
  cards;
  1 2 3 .
  .  2 5 3
  2 .  6 4
  4 3  2 5
  ;
run;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群