楼主: shevaze
1194 6

如何用SAS构建三维权重表? [推广有奖]

  • 2关注
  • 10粉丝

已卖:87份资源

副教授

75%

还不是VIP/贵宾

-

威望
0
论坛币
2962 个
通用积分
44.3410
学术水平
9 点
热心指数
5 点
信用等级
3 点
经验
87190 点
帖子
718
精华
0
在线时间
1095 小时
注册时间
2010-11-13
最后登录
2024-5-15

楼主
shevaze 发表于 2013-8-1 09:57:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题:构建一个三维或者多维的权重表,怎么实现呢?
第一列是从1到100,第二列是第二个权重,第三列是第三个权重,第一第二第三列的数据加起来恰好是100呢?谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:如何用 如何

沙发
yongyitian 发表于 2013-8-1 10:34:35
  1. data weight3;
  2.     do w1 = 1 to 100;
  3.         if mod(w1, 2) = 0 then do;
  4.            w2 = (100 - w1)/2;
  5.            w3 = (100 - w1)/2;
  6.            end;
  7.         else do;
  8.            w2 = ceil((100 - w1)/2);
  9.            w3 = floor( (100-w1)/2 );
  10.          end;
  11.      output;
  12.     end;
  13. run;
复制代码

藤椅
shevaze 发表于 2013-8-1 10:41:03
yongyitian 发表于 2013-8-1 10:34
谢谢,能不能再帮忙改进一下,比如[1,49,50]就没有在数据里面

板凳
yongyitian 发表于 2013-8-1 10:53:47
shevaze 发表于 2013-8-1 10:41
谢谢,能不能再帮忙改进一下,比如[1,49,50]就没有在数据里面
see the output

Weight3.JPG

报纸
shevaze 发表于 2013-8-1 10:58:32
yongyitian 发表于 2013-8-1 10:53
see the output
谢谢,这只有100个权重向量,可是[1,40,59]也不在,得有差不多100万个左右的向量吧?

地板
yongyitian 发表于 2013-8-1 12:28:07
shevaze 发表于 2013-8-1 10:58
谢谢,这只有100个权重向量,可是[1,40,59]也不在,得有差不多100万个左右的向量吧?
try this one.
  1. data weight3;
  2.    do w1 = 1 to 10 ;
  3.            if mod(w1, 2) = 0 then do;
  4.              do i = 1 to (100-w1)/2;
  5.               w2 = (100-w1)/2 + i;
  6.               w3 = (100-w1)/2 - i;
  7.                output;
  8.               w3 = (100-w1)/2 + i;
  9.               w2 = (100-w1)/2 - i;
  10.                output;
  11.               end;
  12.              end;   
  13.     else do;
  14.         do i = 0 to floor(100-w1)/2;
  15.           w2 = floor((100 - w1)/2 ) - i;
  16.          w3 = ceil ( (100 - w1)/2 ) +i;
  17.         output;
  18.           w3 = floor((100 - w1)/2 ) - i;
  19.           w2 = ceil ( (100 - w1)/2 ) +i;
  20.         output;
  21.         end;
  22.        end;
  23.   end;
  24.    drop i;
  25. run;
  26. data weight3;
  27.    set weight3;
  28.    if w2=0 or w3=0 then delete;
  29. run;
复制代码

7
shevaze 发表于 2013-8-1 13:19:03
yongyitian 发表于 2013-8-1 12:28
try this one.
谢谢谢谢!

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

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