Sas 基于另一个变量的值创建变量
我有两个组A和B,以及两个数值变量X和Y。我想根据组B的X和Y(分别)值创建两个新变量new1和new2(即,如果组=B,则new1=X,new2=Y)。我想获取这些新创建的变量,将它们附加到组A,然后删除组B。最后,组A应该有一行包含X、Y、new1和new2。我不知道怎样才能做到这一点 我已经研究过使用PROC转置,但我不确定这是否是正确的起点。我的互联网搜索缺乏,因为我甚至不知道该怎么称呼我正在尝试做的事情,尽管我打赌这是一个需要通用解决方案的通用过程Sas 基于另一个变量的值创建变量,sas,Sas,我有两个组A和B,以及两个数值变量X和Y。我想根据组B的X和Y(分别)值创建两个新变量new1和new2(即,如果组=B,则new1=X,new2=Y)。我想获取这些新创建的变量,将它们附加到组A,然后删除组B。最后,组A应该有一行包含X、Y、new1和new2。我不知道怎样才能做到这一点 我已经研究过使用PROC转置,但我不确定这是否是正确的起点。我的互联网搜索缺乏,因为我甚至不知道该怎么称呼我正在尝试做的事情,尽管我打赌这是一个需要通用解决方案的通用过程 不确定如何概括问题,但对于给定的问题
不确定如何概括问题,但对于给定的问题,这将起作用:
/* Just reversing the records */
proc sort data = have;
by descending group;
run;
data want;
set have;
retain new1 new2;
if _N_ = 1 then do;
new1 = x;
new2 = y;
end;
else output;
run;
不确定如何概括问题,但对于给定的问题,这将起作用:
/* Just reversing the records */
proc sort data = have;
by descending group;
run;
data want;
set have;
retain new1 new2;
if _N_ = 1 then do;
new1 = x;
new2 = y;
end;
else output;
run;
这听起来像是一对一的合并(通过合并out
)
这听起来像是一对一的合并(通过
合并out)
你能不能用一个例子来说明你的问题,说明你拥有什么和你想要什么。我已经添加了一个例子。基本上,我所追求的是从第2步过渡到第3步所需的一切。谢谢。你能用一个例子来说明你的问题吗?你有什么,你想要什么。我已经添加了一个例子。基本上,我所追求的是从第2步过渡到第3步所需的一切。谢谢