我有这样的数据
Code Sx1 Sx2 Sx3 SX4
P1 XX AA ZZ HH
P2 AA XX AA BB
RR1 XA XX ZA HB
RR2 AA XA ZA BH
RR3 AX AX ZZ HH
RR4 AA AA AA BB
RR5 XX XX ZA HB
RR6 AX XA ZZ HH
RR7 AA AX AA BB
RR8 XX AA AZ HH
我想从 P1 (X) 中提取一个字母,从 P2 (A) 中提取另一个字母,然后我想使用这些提取的字母(AX 或 XA)来匹配从 RR1 到 RR8 的观察值,如果它们匹配则为 1,而不是将为 0。我想使用数组,因为我的数据包含超过 8,000 个观察值。我想要这样
SX1 SX2 SX3 SX4
1 0 1 1
0 1 1 1
1 1 0 0
0 0 0 0
0 0 1 1
1 1 0 0
0 1 0 0
0 0 1 0
我正在尝试通过使用 Substr 函数来解决这个问题
Data x;
Set y;
var1 = SUBSTR (SX1,1,1);
var2= SUBSTR (SX2,1,1);
var3= SUBSTR (SX3,1,1);
var4= SUBSTR (SX4,1,1);
PACKAGE_SUBSTR = LETTER_1|| LETTER_2|| LETTER_3;
RUN;
我将使用数组来存储来自 SX1-SX4 的变量,然后
在此之后,我想将此串联变量与数组中的其他观察结果进行匹配以达到我的目标。我想知道我是否以正确的方式进行?需要帮助来解决这个问题。