第一次在论坛发帖!我是一个业余 sas 用户,具有非常基本的编程技能,可悲的是词汇量......
想法是这样的:对于单个观察,我有 6 个变量。让我们称它们为 Fonction1 到 6。
如果 Fonction1 为空,我希望 sas 将内容从 Fonction2 移动到 Fonction1,从 Fonction3 移动到 Fonction2,等等......直到它不再为空
那么如果Fonction2 为空,同样如此。
所以像
观察 1:9、9、空白、空白、5、4 将变为观察 1:9、9、5、4、空白、空白
请注意,整个观察结果可能是空的,这很好
所以我写了以下代码:
data individus_fct;
set individus_fct;
do while (Fonction1 = '' and n<8);
put n=;
n+1;
Fonction1 = Fonction2;
Fonction2 = Fonction3;
Fonction3 = Fonction4;
Fonction4 = Fonction5;
Fonction5 = Fonction6;
Fonction6 = '';
end;
run;
data individus_fct;
set individus_fct;
do while (Fonction2 = '' and n<8);
put n=;
n+1;
Fonction2 = Fonction3;
Fonction3 = Fonction4;
Fonction4 = Fonction5;
Fonction5 = Fonction6;
Fonction6 = '';
end;
run;
data individus_fct;
set individus_fct;
do while (Fonction3 = '' and n<8);
put n=;
n+1;
Fonction3 = Fonction4;
Fonction4 = Fonction5;
Fonction5 = Fonction6;
Fonction6 = '';
end;
run;
data individus_fct;
set individus_fct;
do while (Fonction4 = '' and n<8);
put n=;
n+1;
Fonction4 = Fonction5;
Fonction5 = Fonction6;
Fonction6 = '';
end;
run;
data individus_fct;
set individus_fct;
do while (Fonction5 = '' and n<8);
put n=;
n+1;
Fonction5 = Fonction6;
Fonction6 = '';
end;
run;
但它不起作用......不知道为什么......(不过我很想知道!)
有什么建议么?