SAS proc SQL 和数组
这是一个SAS新手问题。我有一个包含数值变量 v1-v120
、V
和一个分类变量 Z
(例如三个可能值)的数据集。对于 Z
的每个可能值,我想获取另一组变量 w1-w120
,其中 w{i}=sum(v{i}} /V
,其中总和是给定值 Z
的总和,因此在这种情况下我可以在数据步骤中查找 3*120 矩阵。喜欢通过 Proc SQL
来完成或 Proc MEANS
,因为实际数据集中的分类变量数量相当大,提前致谢。
This is a newbie SAS question. I have a dataset with numerical variables v1-v120
, V
and a categorical variable Z
(with say three possible values). For each possible value of Z
, I would like to get another set of variables w1-w120
, where w{i}=sum(v{i}}/V
, where the sum is a sum over a given value of Z
. Thus I am looking for 3*120 matrix in this case. I can do this in data step, but would like to do it by Proc SQL
or Proc MEANS
, as the number of categorical variables in the actual dataset is moderately large. Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是使用 proc sql 的解决方案。您也可以使用输出数据集和“by”语句执行与 proc 类似的操作。
Here's a solution using proc sql. You could probably also do something similar with proc means using an output dataset and a 'by' statement.
使用
procmeans
可以很容易地做到这一点。使用 Louisa Grey 答案中的 t1 数据集:这将创建一个与 SQL 结果匹配的结果表。
It's easy to do this with
proc means
. Using thet1
data set from Louisa Grey's answer:This creates an table of results that match the SQL results.