楼主: sunjiangwei
2604 11

sas中如何将两个变量变成观测 [推广有奖]

11
sunjiangwei 发表于 2015-1-8 13:55:27
teqel 发表于 2015-1-8 13:24
谢谢您,用了retain命令之后就可以啦~~~我在解决这个问题的时候,也找到了另外一种解决办法(刚刚找到):
data a;
input bmi fat number OR;
n=_n_;
cards;
1 1 100 1.2
1 2 120 1.3
1 3 150 1.4
2 1 130 1.1
2 2 140 1.4
2 3 110 1.5
;
run;


proc transpose data=a out=b;
  by n bmi;
  var number or;
  copy fat;
run;


data c; set b;
if bmi="2" then n=n-3;
index=compress(cat(_name_,"_",n));
run;

proc transpose data=c out=d;
  by bmi;
  id index;
  var col1;
run;





12
teqel 发表于 2015-1-8 14:06:06
sunjiangwei 发表于 2015-1-8 13:55
谢谢您,用了retain命令之后就可以啦~~~我在解决这个问题的时候,也找到了另外一种解决办法(刚刚找到): ...
很有意思,确实使用_n_后的transpose很强大。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-13 08:13