楼主: fyfzhdsfdx
1881 4

把一列变量y每6个为一组变成6个变量y1-y6,求解决 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
966 点
帖子
97
精华
0
在线时间
89 小时
注册时间
2012-8-22
最后登录
2016-9-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求高手解决。我想对一列变量y每6个为一组变成6个变量y1-y6,然后再求均值什么的。下面是我的代码,结果也对,但我想知道有没有其他的代码可以实现,不想用export过程。
PROC EXPORT DATA= raw OUTFILE= "E:\raw.txt"  DBMS=TAB REPLACE;PUTNAMES=no;run;
data mean;infile "E:\raw.txt";input y1-y6;avg=mean(of y1-y6);stand=std(of y1-y6);run;
十分感谢!
二维码

扫码加我 拉你入群

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

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

关键词:replace export infile Putnam xport run export stand

沙发
zkymath 在职认证  发表于 2013-5-14 15:20:35 |只看作者 |坛友微信交流群
input x;
k=mod(_n_,6);
switch k;
yk=x;

使用道具

藤椅
fyfzhdsfdx 发表于 2013-5-19 19:31:46 |只看作者 |坛友微信交流群
zkymath 发表于 2013-5-14 15:20
input x;
k=mod(_n_,6);
switch k;
谢谢您的及时回复,但是我按照您说的代码,sas会报错,见下:
data b;do i=1 to 100;x=rannor(0);output;end;drop i;run;
data c;set b;k=mod(_n_,6);switch k;yk=x;run;
15   data c;set b;k=mod(_n_,6);switch k;yk=x;run;
                               ------
ERROR 180-322: 语句无效或未按正确顺序使用。
NOTE: 由于出错,SAS 系统停止处理该步。
WARNING: 数据集 WORK.C 可能不完整。该步停止时,共有 0 个观测和 3 个变量。
求解决。
并且我想问一下,switch在sas里是什么用法?还没用过这个语句那,十分感谢!

使用道具

板凳
linhaoran 发表于 2013-5-19 20:39:49 |只看作者 |坛友微信交流群
data b;
do i=0 to 99;
        x=rannor(0);
        m=int(i/6);
        k=mod(i,6)+1;
        output;
end;
drop i;
run;

proc sort data=b;by m k;run;

PROC TRANSPOSE DATA=b OUT=b2 prefix=y;
        by m;
        id k;
        var x;
RUN; QUIT;

使用道具

报纸
fyfzhdsfdx 发表于 2013-5-21 13:50:55 |只看作者 |坛友微信交流群
linhaoran 发表于 2013-5-19 20:39
data b;
do i=0 to 99;
        x=rannor(0);
十分感谢。

使用道具

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

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

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

GMT+8, 2024-4-30 17:50