全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5068 2
2013-01-18
悬赏 10 个论坛币 已解决
我有一个简单的数据文件(KIDS),除了其他变量,这个文件包括性别(SEX),家庭类别(FAMID),和年龄。程序如下:

DATA kids;
        LENGTH kidname $ 4 sex $ 1;
        INPUT famid kidname birth age wt sex ;
        CARDS;
1 Beth 1  9  60  f
1 Bob  2  6  40  m
1 Barb 3  3  20  f
2 Andy 1  8  80  m
2 Al   2  6  50  m
2 Ann  3  2  20  f
3 Pete 1  6  60  m
3 Pam  2  4  40  f
3 Phil 3  2  20  m
;
RUN;

使用PROC MEANS,我把每个按照性别进行分组的平均年龄输出到BYSEX这个数据文件。
程序如下:

PROC MEANS DATA=kids ;
        CLASS sex;
        VAR age;
        OUTPUT OUT=bysex MEAN= ;
RUN;

使用PROC MEANS,把按照家庭类别进行分组的平均年龄输出到BYFAMID这个数据文件。
程序如下:

PROC MEANS DATA=kids ;
        CLASS famid;
        VAR age;
        OUTPUT OUT=byfamid MEAN= ;
RUN;

最后我需要一个EXCEL文件,用于盛放BYSEX文件和BYFAMID文件的所有信息,比方说,这个最后生成的EXCEL文件第1-10行用于存放来自BYSEX文件的信息,10-20行保留成为空白的行,20-30行用于存放来自BYFAMID文件的信息。效果如下:

sex        _TYPE_        _FREQ_        age
            0                 9                  5.1111111111
f           1                 4                  4.5
m         1                 5                  5.6




famid        _TYPE_        _FREQ_        age
               0                 9                  5.1111111111
1             1                 3                  6
2             1                 3                  5.3333333333
3             1                 3                  4

我的问题是,如何把这些数据输出文件BYSEX文件,BYFAMID文件按照如上效果全部放入到一个EXCEL文件之内?事实上是,我需要把多个这样的独立文件(BYSEX,BYFAMID, 。。。 )放入到一个EXCEL文件之内。
欢迎提供程序,或者任何思路,都算有效答案,在下不胜感激。



最佳答案

webgu 查看完整内容

或者导入到同一文件的不同的SHEET.更容易实现。 proc export data=bysex outfile="yourfilepath" dbms=excel replace; sheet="bysex"; run; proc export data=byfamid outfile="yourfilepath" dbms=excel replace; sheet="byfamid"; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2013-1-18 11:55:46
或者导入到同一文件的不同的SHEET.更容易实现。

proc export data=bysex
                    outfile="yourfilepath"
                                        dbms=excel replace;
                                        sheet="bysex";
run;

proc export data=byfamid
                    outfile="yourfilepath"
                                        dbms=excel replace;
                                        sheet="byfamid";
run;
二维码

扫码加我 拉你入群

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

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

2013-1-19 08:01:41
You can use DDE "dynamic data exchange". Here is an example.

filename test dde
   'excel|sheet1!r3c3:r13c6';


data _null_;
   file test;
   array p(*) p1-p10;
   do i=1 to 5;
      do j=1 to dim(p);
                p(j)=j;
          end;
        put p1 p1 p3;
        end;
        drop i j;
run;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群