将不同变量的多个值放在一列SAS中



我有一个类似的数据集(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;

最新更新