在SAS中我有类似的东西......
ID survey Q1 q1_2 Q2 q2_2 Q3 q3_2
1 1 1 0 1
1 2 0 1 1
2 2 1 1 0
我不确定移调是否是正确的方法,但我想得到这样的东西。
ID survey Q Response
1 1 1 1
2 0
3 1
2 1 0
2 1
3 1
2 2 1 1
2 1
3 0
其中Q1和Q1_2是在随时间推移的两次不同调查中提出的相同问题
答案 0 :(得分:1)
你需要的只是合并功能。
proc sql; select id, survey, coalesce(Q1,q1_2) as q1, coalesce(Q2,q2_2) as q2, coalesce(Q3,q3_2) as q3 from yourtable; quit;
答案 1 :(得分:0)
您可以使用SQL UNION CORR附加Survey 1&调查2 ...&调查N数据。 代码:
/*Append Survery 1 & Suervey 2 data to each other*/
proc sql;
create table want as
select
id, survey, q1, q2, q3
from have
where survey=1
union corr
select
id, survey,
q1_2 as q1,
q2_2 as q2,
q3_2 as q3
from have
where survey=2
;
quit;
输出:
ID=1 survey=1 Q1=1 Q2=0 Q3=1
ID=1 survey=2 Q1=0 Q2=1 Q3=1
ID=2 survey=2 Q1=1 Q2=1 Q3=0