楼主: jzhenrybx
1099 1

循环语句求教 [推广有奖]

  • 0关注
  • 1粉丝

大专生

45%

还不是VIP/贵宾

-

威望
0
论坛币
2945 个
通用积分
0.0604
学术水平
0 点
热心指数
1 点
信用等级
1 点
经验
654 点
帖子
30
精华
0
在线时间
34 小时
注册时间
2013-6-19
最后登录
2018-12-31

10论坛币
求指导!

我有两组数据,我需要分别给两组数据赋予不同的权重然后算在不同权重下得到的结果,两组数据的权重加起来等于1。
比如:
A          B
1          32          4
3          5
4          6
5          7
6          8
7          9
8         10

给A组数赋予权重1%,相应的B的权重即位99% ,结果等于C组数=A*1%+B*99%,D组数=A*2%+B*99%。

依次类推,直到A的权重等于99%。

个人觉得应该可以用
do i=1 to 100;
_i=a*i/100+b*(100-i)/100;
end;

希望能有大神指点!

谢谢!

关键词:循环语句 End 求指导
沙发
johnpark1 发表于 2015-11-10 12:36:45 |只看作者 |坛友微信交流群
You are almost right. If you define an array in the beginning, you should be fine.

Data newdata;
Array c {100} c1-c100;
Set Old;
Do i=1 to 100 by 1;
c [i] = a*l/100 + b *(100-i)/100;
Output;
End;
Run;

Or you could have one new column and use as by variable in your analysis:

Data new;
set old;
do weight =1 to 100 by 1;
C = a * weight / 100 + b * (1-weight/100);
Output;  /* this is important */
End;
Run;
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Tigflanker + 1 + 2 + 3 热心帮助其他会员
admin_kefu + 25 热心帮助其他会员

总评分: 论坛币 + 25  学术水平 + 1  热心指数 + 2  信用等级 + 3   查看全部评分

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-28 10:46