(SAS)从一个特定列中减去多个列(或多列减法)
我需要你的帮助来解决这个简单的问题 SAS数据集看起来像 (数据集A) A列B列C列。。。Z列SSS 我想使新的SAS数据集看起来像 (新数据集) A列-SSS B列-SSS C列-SSS。。。Z列-SSS 也就是说,我想从一列中减去许多列!!! 我现在不知道如何使用宏或简单技巧(或sql?)解决这个问题(SAS)从一个特定列中减去多个列(或多列减法),sas,subtraction,Sas,Subtraction,我需要你的帮助来解决这个简单的问题 SAS数据集看起来像 (数据集A) A列B列C列。。。Z列SSS 我想使新的SAS数据集看起来像 (新数据集) A列-SSS B列-SSS C列-SSS。。。Z列-SSS 也就是说,我想从一列中减去许多列!!! 我现在不知道如何使用宏或简单技巧(或sql?)解决这个问题 提前谢谢 正如你帖子上的评论所暗示的,你的问题有点难以理解,数组很可能是最好的选择 也就是说,也许您可以使用下面的代码来解决您的问题: /*Reproducible random datase
提前谢谢 正如你帖子上的评论所暗示的,你的问题有点难以理解,数组很可能是最好的选择 也就是说,也许您可以使用下面的代码来解决您的问题:
/*Reproducible random dataset*/
data have;
do i=1 to 10;
Column_A = ceil(ranuni(_N_ )*1000);
Column_B = ceil(ranuni(_N_+10)*1000);
Column_C = ceil(ranuni(_N_+20)*1000);
Column_D = ceil(ranuni(_N_+30)*1000);
Column_E = ceil(ranuni(_N_+40)*1000);
SSS = ceil(ranuni(_N_+50)*100 );
output;
end;
drop i;
run;
/*Desired result?*/
data want;
set have;
array Columns Column_:; /* The ':' is a suffix wildcard matching like typed variables with names starting with "Column_" */
do over Columns;
Columns = Columns - SSS;
end;
drop SSS;
run;
建议您添加一些示例数据。另外,显示您尝试过的代码。你试过使用数组吗?这个问题不需要宏或SQL“技巧”。数组是最简单的解决方案。请看这里的例子:如前所述,您的问题不符合SO规则,因此在它满足之前,您不太可能得到答案。您需要添加示例数据和输出,并显示您的尝试。