我是SAS的新手,我希望通过将来自另一个变量的数据分组来在我的数据集中创建一个新变量。我想将变量EDUC中的数据分组,通过将数字1-5分组为1,将数字6-10分组为2,创建一个新的变量NEW_EDUC。任何帮助都将不胜感激!
EDUC NEW_EDUC
3 1
2 1
9 2
5 1
1 1
4 1
8 2
1 1
6 2发布于 2021-11-29 20:38:18
这似乎是一个基本的如果/然后陈述。
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;发布于 2021-11-29 20:44:09
你可以用简单的算术。除以5,然后整成整数。
data want;
set have;
NEW_EDUC = ceil(educ/5);
run;发布于 2021-11-30 09:41:50
或者,如果您对sql比较满意,也可以使用proc步骤:
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;https://stackoverflow.com/questions/70160964
复制相似问题