【发布时间】:2016-03-19 00:54:18
【问题描述】:
我有一组包含 45 个问题的调查的多项选择回答,我已将正确的回答作为我在数据集中的第一个观察结果。
在我的 DATA 步骤中,我想将值设置为 0 或 1,具体取决于每个观察中的变量是否与第一个观察中的相同变量匹配,我想将响应字母 (A-D) 替换为 0 或 1数据集,我该如何进行比较?
我没有进行任何分组,所以我相信我可以使用 First.x 访问第一行,但我不确定如何在每个变量之间进行比较 (answer1-answer45)。
| Id | answer1 | answer2 | ...through answer 45
|:-------------|---------:|
| KEY | A | B |
| 2 | A | C |
| 3 | C | D |
| 4 | A | B |
| 5 | D | C |
| 6 | B | B |
Should become:
| Id | answer1 | answer2 | ...through answer 45
|:-------------|---------:|
| KEY | A | B |
| 2 | 1 | 0 |
| 3 | 0 | 0 |
| 4 | 1 | 1 |
| 5 | 0 | 0 |
| 6 | 0 | 1 |
当前读取数据的代码:
DATA TEST(drop=name fill answer0);
INFILE SCORES DSD firstobs=2;
length id $4;
length answer1-answer150 $1;
INPUT name $ fill id $ (answer0-answer150) ($);
RUN;
提前致谢!
【问题讨论】:
标签: sas