楼主: dcyhfut
5771 22

[问答] 怎样转置 [推广有奖]

11
dcyhfut 发表于 2012-11-4 11:28:38
webgu 发表于 2012-11-4 10:58
suppose your dataset is demo;
谢谢

12
dcyhfut 发表于 2012-11-4 11:53:46
webgu 发表于 2012-11-4 10:58
suppose your dataset is demo;
在请问一个问题,就是怎么样将t1:t2:t3:t4:t5的比例值给求出来啊?比如 1:1.3 : 3.6 : 0: 5.2谢谢

13
dcyhfut 发表于 2012-11-4 11:54:18
Imasasor 发表于 2012-11-4 11:14
为了避免不小心给人错误的代码,我还是稍稍修正了一下高手的小疏忽。
在请问一个问题,就是怎么样将t1:t2:t3:t4:t5的比例值给求出来啊?比如 1:1.3 : 3.6 : 0: 5.2谢谢

14
Imasasor 发表于 2012-11-4 11:57:25
dcyhfut 发表于 2012-11-4 11:54
在请问一个问题,就是怎么样将t1:t2:t3:t4:t5的比例值给求出来啊?比如 1:1.3 : 3.6 : 0: 5.2谢谢
如果你将t1定义为1的话,将缺失定义为0的话,就直接将后面四个除t1就得出来值了,如果你要将这些值连起来 变成你上面的形式,只用将这几个作为字符连接起来就行了
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

15
webgu 发表于 2012-11-4 12:24:02
正如楼上所说。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

16
dcyhfut 发表于 2012-11-4 14:58:04
Imasasor 发表于 2012-11-4 11:57
如果你将t1定义为1的话,将缺失定义为0的话,就直接将后面四个除t1就得出来值了,如果你要将这些值连起来 ...
再次谢谢,被这些搞得头都大了

17
mymine 发表于 2012-11-4 15:55:11
不是转置吗,好像有专门语句吧

proc transpose data=aa out=bb;
by name code year month day;
var sale;
id type;
run;

18
bobguy 发表于 2012-11-5 01:18:36
You may do as an example below.

data t1;
   do key=1,2,3;
     do type='t1','t2','t3','t4';
            sale=ranuni(123)*100;
                if key=2 and type in ('t2') then sale=.;
                output;
          end;
        end;
run;

proc print;run;

proc transpose data=t1 out=t2 ;
by key;
id type;
var sale;
run;

proc print;run;

19
webgu 发表于 2012-11-5 09:58:10
mymine 发表于 2012-11-4 15:55
不是转置吗,好像有专门语句吧

proc transpose data=aa out=bb;
楼主的每个ID里的纪录数不一样,直接转会有问题。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

20
mymine 发表于 2012-11-6 14:45:27
webgu 发表于 2012-11-5 09:58
楼主的每个ID里的纪录数不一样,直接转会有问题。
加了 id type;
应该没有问题,可以试试

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

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