我尝试用两个不同的变量创建一个SAS数据集。 Y应该是全名。变量名称应以名字开头的名字给定,例如约翰逊·麦克应该是“约翰逊M”。史密斯·罗伯特·约翰(Smith Robert John)应该是“史密斯·J·”我不确定如何创建Names变量,任何人都可以帮忙吗?
data names;
Length y $ 40;
Input y &;
Names = y;
DATALINES;
Johnson Mike
Smith Robert John
Jones Linda Mary
Brown Marcus
run;
答案 0 :(得分:0)
函数'countw''扫描''first'和'catx'可能会有所帮助。
1.获取姓名的单词数;
2.保留第一个字;
3.循环播放,连接每个单词的第一个单词和第一个字母(期望第一个单词);
答案 1 :(得分:0)
这应该与do循环一起工作
data names_final;
set names;
do _n_ = 1 to countw(Y,' ');
if _n_ = 1 then name =scan(Y,1);
else name = catx(' ', name, cats(first(scan(y,_n_)),'.'));
end;
run;
您也可以
data names_final;
set names;
name = cats(catx(' ', scan(y,1), catx('. ', first(scan(y,2)),first(scan(y,3) ))),'.');
run;