我是SAS的新手,希望通过对来自另一个变量的数据进行分组,在我的数据集中创建一个新变量。我想通过将数字1-5分组为1,将数字6-10分组为2,对来自变量EDUC的数据进行分组,以创建新的变量new_EDUC。如有任何帮助,我们将不胜感激!
EDUC NEW_EDUC
3 1
2 1
9 2
5 1
1 1
4 1
8 2
1 1
6 2
这看起来像是一个基本的IF/THEN语句。
data want; *output data set name is WANT;
set have; *input data set name is HAVE;
*create new variable;
if 1 <= EDUC <= 5 then NEW_EDUC = 1;
else if 6 <= EDUC <= 10 then NEW_EDUC = 2;
run;
您可以使用简单的算术运算。除以5,四舍五入为整数。
data want;
set have;
NEW_EDUC = ceil(educ/5);
run;
如果您对sql:更熟悉,您也可以使用proc-sql步骤
proc sql;
create table want as
select
case when EDUC >= 1 and EDUC <= 5 then 1
when EDUC >= 6 and EDUC <= 10 then 2
else . end as NEW_EDUC
,*
from have;
quit;