我有一个类似的数据集(Se是变量Serious(:
Se D L C Di H O
N
N
N
Y N Y N N N N
N
N
N
Y N N Y N N
变量死亡(D(、寿命阈值(L(、先天异常(C(、残疾(Di(、住院(H(和其他(O(必须匹配从1(对于变量Death(到6(对于变量Other。我该怎么做?(我有6个变量都是Y的行(。
提前感谢
我不知道如何设置新变量,以便它考虑我有Y 的所有6个变量
您可以使用函数catx将值组合为一个字符串:
生成样本数据:
data have;
input Se $1. D $1. L $1. C $1. Di $1. H $1. O $1.;
datalines;
N
N
N
YNYNNNN
N
N
N
YNYNYNN
YYYYYYY
run;
这里,定义了一个由六个输入变量组成的数组,并使用函数catx。在";合成";你会发现Y值的列表的形式是";2〃;或";2,4〃;,或者";1,2,3,4,5,6";在最后一个例子中。
data want (drop=i);
set have;
length synthesis $12;
array yn {6} D L C Di H O;
do i=1 to 6;
if yn{i}="Y" then synthesis=catx(',',synthesis,put(i,$1.));
end;
run;