楼主: dxystata
1224 3

如何实现? [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2012-12-27 17:24:38 |AI写论文
20论坛币
数据集中ff?_1 ff?_2  其中?为1-54;
我想把ff?_1(一共54个变量)求行和,用sum函数,如何写简单呢?谢谢!

最佳答案

pobel 查看完整内容

data test; ff1_1=1; ff3_1=8; ff54_1=9; ff1_2=89; ff4_2=12; run; data test1; set test; array temp (*) _numeric_; do i=1 to dim(temp); varname=upcase(vname(temp(i))); if varname=:"FF" and substr(varname,length(varname)-1)="_1" then ff_1_sum=sum(ff_1_sum,temp(i)); end; drop i varame; run;
关键词:如何实现 Sum 数据集 如何写 如何

沙发
pobel 在职认证  发表于 2012-12-27 17:24:39
data test;
   ff1_1=1;
   ff3_1=8;
   ff54_1=9;
   ff1_2=89;
   ff4_2=12;
run;

data test1;
    set test;
        array temp (*) _numeric_;
        do i=1 to dim(temp);
           varname=upcase(vname(temp(i)));
           if varname=:"FF" and substr(varname,length(varname)-1)="_1" then ff_1_sum=sum(ff_1_sum,temp(i));
        end;
        drop i varame;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
a6566792 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

和谐拯救危机

藤椅
老师她摸我 发表于 2012-12-27 18:07:53
  1. total=sum(of ff:);
复制代码
欢迎加入SAS群:144839730-蜗牛

板凳
webgu 发表于 2012-12-27 19:09:28
一个示例,不过这种思路效率比较差。
  1. data demo;
  2.    ff1_1=1;ff2_1=2;ff3_1=3;
  3. run;

  4. %macro sumvar(from ,to);
  5.            data  _null_;
  6.              set demo ;
  7.                  %do i=&from %to &to;
  8.                sumff1=sum(sumff1,ff&i._1);
  9.               %end;          
  10.                 put  "the sum : " sumff1;
  11.           run;
  12. %mend sumvar;

  13. %sumvar(1,3);
复制代码
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-20 12:15