全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6852 3
2016-06-23
有这么一个数据集:mo=
abc

1

2

1

2

5

3

5

6

5

6

9

8

5

8

5

8

5

2

6

21

3

0

2

6

2

3

9

然后我想通过proc means过程出a b c 三个变量的四分之一分位数和四分之三分位数;
proc means data=mo noprint;
        var a b c;
        output out=Immean Q1=a1 b1 c1 q3=a2 b2 c2;
run;

但是它会出成一长串
proc means data=mo noprint;
        var a b c;
        output out=Immean;
run;

它就会出成一个表格,但是又没有我需要的特征值,
proc means data=mo noprint;
        var a b c;
        output out=Immean Q1=a1 b1 c1 q3=a1 b1 c1;
run;

它又会报错,
我希望它成
abc
mean

0

2

5

n

8

4

2

q1

2

8

8

q3

0

3

5


二维码

扫码加我 拉你入群

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

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

全部回复
2016-6-24 11:14:22
Yes, sure you can. Mean(Var1)=Mean_V1 Mean(V2)=mean_V2; you will get the mean value of Var 1 and Var2 respectively in the ods statement.
二维码

扫码加我 拉你入群

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

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

2016-6-25 11:30:37
fyp198744 发表于 2016-6-23 16:38
有这么一个数据集:mo=
然后我想通过proc means过程出a b c 三个变量的四分之一分位数和四分之三分位数;
...
autoname
二维码

扫码加我 拉你入群

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

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

2016-6-30 12:00:10
data a;
input a b c;
cards;
1        2        1
2        5        3
5        6        5
6        9        8
5        8        5
8        5        2
6        21        3
0        2        6
2        3        9
;
run;

data b;
        set a;
        var=a;group='a';output;
        var=b;group='b';output;
        var=c;group='c';output;
        keep group var;
run;

proc sort data=b;
        by group;
run;



proc means data=b noprint;
by group;
        var var;
        output out=Immean(drop=_type_ _freq_) mean=v1 q1=v3 q3=v4 n=v2;
run;

proc transpose data=Immean out=c ;
        id group;
        var v1-v4;
run;

data d;
        set c;
select(_NAME_);
length param $10;
when('v1') param="mean";when('v2') param="n";when('v3') param="q1";when('v4') param="q3";
otherwise;end;
seq=input(compress(_NAME_,'v'),best.);
drop _NAME_;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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