如何组合多个保存、删除和重命名语句,特别是在将其与IN语句结合时?例如,似乎只需一个数据步骤就可以实现以下内容:
data temp;
set set_1 (keep = key var1-var5);
run;
data want;
merge set_2
temp (in= whatwewant);
by key;
if whatwewant;
run;我如何只用一个数据步骤就能做到这一点?
另外,还有一个类似的问题:例如,如何在数据步骤中合并一个RENAME和RENAME语句?最近我遇到了几个例子,我想要合并在两个不同集合中有不同名称的一些变量集,但是我只想从这两个集合中保留变量的一个适当子集。在这种情况下,根据我的知识,当我假设可以在一个步骤中完成时,我实际上需要三个数据步骤来完成这个任务。我一直在做这样的事情:
data temp1 (rename = (key1=key));
set set_1 (keep= key1 var1-var5);
run;
data temp2 (rename = (key2=key));
set set_2 (keep=key2 othervar1-othervar4);
run;
data want;
merge temp1
temp2;
by key;
run;所以,同样的问题:我如何在一个数据步骤中做到这一点?
发布于 2018-10-02 20:39:08
您可以在相同括号内的相同选项块中放置一个IN、DROP、DROP或RENAME。
在你的第一个案例中:
data want;
merge set_2
set_1 (in= whatwewant keep = key var1-var5);
by key;
if whatwewant;
run;在你的第二个案例中:
data want;
merge set_1 (keep= key1 var1-var5 rename = (key1=key))
set_2 (keep= key2 othervar1-othervar4 rename = (key2=key));
by key;
run;https://stackoverflow.com/questions/52615305
复制相似问题