gpt4 book ai didi

在 proc 转置之后使用名称的 SAS 变量求和

转载 作者:行者123 更新时间:2023-12-04 19:36:14 26 4
gpt4 key购买 nike

我有一个表格,其中包含我转置的类别(数字)的帖子。我得到了一个表,其中每个列名称都是 _number,例如 _16、_881、_853 等(它们没有按顺序排列)。

我需要在 proc sql 中对所有这些进行求和,但我不想在数据步骤中创建变量,我也不想写所有的列名。我试过这个但不起作用:

proc sql;
select sum(_815-_16) as nnl
from craw.xxxx;
quit;

我试过从第一个数字到最后一个数字,也尝试从第一位对应的数字到最后一位对应的数字。给我一个不正确的数字。

有什么想法吗?

谢谢!

最佳答案

你不能在 SQL 中使用变量列表,所以 _:var1-var6var1--var8 不起作用.

执行此操作的最简单方法是数据步骤 View 。

proc sort data=sashelp.class out=class;
by sex;
run;
*Make transposed dataset with similar looking names;
proc transpose data=class out=transposed;
by sex;
id height;
var height;
run;
*Make view;
data transpose_forsql/view=transpose_forsql;
set transposed;
sumvar = sum(of _:); *I confirmed this does not include _N_ for some reason - not sure why!;
run;

proc sql;
select sum(sumvar) from transpose_Forsql;
quit;

关于在 proc 转置之后使用名称的 SAS 变量求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24998124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com