(注意:此数据集完全是伪造的,不包含任何人或实体的实际信息)
我有一个数据集,其中包含以下格式的三个变量:
COV_ID Adj_zip Claim_info
PSX0002915A 98216 A-20
PSX0002915A 98216 T-14
PSX0002920A 98216 A-16
PSX0002902A 98216 T-08
etc.
除'Claim_info'外,所有观察都是重复的。我需要创建一个名为technician_info的新变量,如果claim_info观察以字母T开头,它将保存claim_info的信息。基本上我需要它看起来像这样:
COV_ID Adj_zip Claim_info Technician_info
PSX0002915A 98216 A-20 T-14
PSX0002920A 98216 A-16 T-08
我不知道如何提出这个问题,所以我试着提供一个例子。任何和所有帮助将不胜感激。
答案 0 :(得分:0)
有很多方法可以做到这一点。
这里我将输入数据分成A记录和T记录。然后我使用PROC SQL来连接表。
如果你发现这需要很长时间,请告诉我,我可以适应一些可能会更快的事情。
data test;
format COV_ID $12.;
input COV_ID $ Adj_zip Claim_info $;
datalines;
PSX0002915A 98216 A-20
PSX0002915A 98216 T-14
PSX0002902A 98216 A-16
PSX0002902A 98216 T-08
;
run;
data As Ts;
set test;
if substr(claim_info,1,1) = 'A' then
output As;
else if substr(claim_info,1,1) = 'T' then
output Ts;
run;
proc sql noprint;
create table want as
select a.cov_id,
a.adj_zip,
a.claim_info,
b.claim_info as Technician_info
from As as a
inner join
Ts as b
on a.cov_id = b.cov_id;
quit;