使用SAS传输数据结构

Using SAS to transfer data structure

我对使用 SAS 进行数据结构传输有疑问。这是我的旧数据集

question answer
1         3
2         4
3         5
4         3
5         1
1         2 
2         4
3         1
4         3
5         6

理想的输出数据集是

ques1 ques2 ques3 ques4 ques5
3     4     5     3     1
2     4     1     3     6

解决方法很简单。创建一个存储问题组的虚拟列,然后将该数据作为该组的变量转置,从而导致 2 个单独的输出行。查看以下代码。

data have;
infile datalines missover;
input question answer ;
if question=1 then group+1;
datalines;
1         3
2         4
3         5
4         3
5         1
1         2 
2         4
3         1
4         3
5         6
;;;;
run;
proc transpose data=have out=want prefix=ques;
by group;
var answer;
id question;
run;
proc print data=want;run;