我想在一个变量中结合不同变量的不同观察结果。观察结果彼此相关并且是重复测量。
示例:
当前数据库布局。
**Var1 Dat1 Var2 Dat2 Var3 Dat3**
Obs1a Dat1a Dat2a Dat2a Obs3a Dat3a
Obs1b Dat1b Dat2b Dat2b Obs3b Dat3b
Obs1c Dat1c Dat2c Dat2c Obs3c Dat3c
Obs1d Dat1d Dat2d Dat2d Obs3d Dat3d
我想创建一个带有组合观察的新变量:
Var Dat
Obs 1a Dat 1a
Obs 1b Dat 1b
.... ...
Obs 2a Dat 2a
Obs 2b Dat 2b
.... ...
Obs 3c Dat 3c
Obs 3d Dat 3d
有人可以解释我如何在SAS中这样做吗?
答案 0 :(得分:0)
创建2个“var”和“dat”值的数组。循环遍历它们并使用OUTPUT
语句为数组中的每个值创建1个观察值。
data test;
input var1 $ dat1 $ var2 $ dat2 $ var3 $ dat3 $;
datalines;
Obs1a Dat1a Dat2a Dat2a Obs3a Dat3a
Obs1b Dat1b Dat2b Dat2b Obs3b Dat3b
Obs1c Dat1c Dat2c Dat2c Obs3c Dat3c
Obs1d Dat1d Dat2d Dat2d Obs3d Dat3d
;
run;
data test2(keep=var dat);
set test;
array v[3] var1-var3 ;
array d[3] dat1-dat3;
format var dat $8.;
do i=1 to 3;
var = v[i];
dat = d[i];
output;
end;
run;