SAS中文论坛
标题:
如何在一张表中引用另一张表的数据
[打印本页]
作者:
shiyiming
时间:
2004-12-23 18:50
标题:
如何在一张表中引用另一张表的数据
假设要新建一张表new,表中数据是work里已存在的base表中的num这一字段的均值,该如何写这段程序啊,谢谢大家指点!
作者:
shiyiming
时间:
2004-12-24 01:42
标题:
是求不同组内的均值还是全部的均值
给个例子和想要的结果
作者:
shiyiming
时间:
2004-12-24 07:54
标题:
re频数统计可否对行进行统计?
data base;
input x1-x3;
cards;
4 5 6
7 8 9
5 1 7
;
run;
现在我要新建一张表new,要求表的第一行是x1的均值,第二行是x2的均值,第三行是下的均值,该怎么处理数据,谢谢!
作者:
shiyiming
时间:
2004-12-24 08:59
标题:
你是在说MEANS 还是FREQ
proc means data=base noprint;
var x1-x3;
output out=mean mean(x1)=meanx1 mean(x2)=meanx2 mean(x3)=meanx3;
run;
proc transpose data=mean out=meanx(drop=_name_ rename=col1=means) ;
var meanx1-meanx3;
run;
proc print data=meanx;
run;
这肯定不是最好的方法,过几天再想想
作者:
shiyiming
时间:
2004-12-24 09:54
标题:
sql
data base;
input x1-x3;
cards;
4 5 6
7 8 9
5 1 7
;
run;
data tmp;
set base;
n=_n_;
run;
proc sql;
create table new as
select mean(x1)*(n=1)+mean(x2)*(n=2)+mean(x3)*(n=3) as M
from tmp;
作者:
shiyiming
时间:
2004-12-24 12:33
标题:
语法解释
ahuige,谢谢你的帮忙。
再扰烦解释一下,
mean(x1)*(n=1)+mean(x2)*(n=2)+mean(x3)*(n=3)
这句话是怎么执行的,谢谢
作者:
shiyiming
时间:
2004-12-24 12:38
标题:
re
如果数据变量不是三个而是x1-x1000,我又该怎么写proc sql 中的
select 语句,总不能连加一千回吧,呵.
作者:
shiyiming
时间:
2004-12-24 12:56
标题:
re说的是均值
smartie
我说的是means,对了,如果是freq,那又该如何?freq有类似mean(x1)这样的函数吗?
作者:
shiyiming
时间:
2004-12-24 14:22
标题:
to huangxeon
一千个怕什么,有宏语句给你挣腰,1万个都不怕。
只要你变量编码规则就好办,就算不规则,用什么proc contents输出变量名为文件,总之一定搞得定,呵呵。
作者:
shiyiming
时间:
2004-12-24 14:30
标题:
不标准也有好处
标准的sql语法应该用avg,而不是用mean,标准的sql语法也不能把逻辑变量自动当成数字运算,这就是sas的好处。
作者:
shiyiming
时间:
2004-12-25 11:18
标题:
to ahuige
ahuige,我知道该用宏啊,但是我不知道该怎么用?能叫叫我吗?还有,能推荐一些学习宏的资料吗?
作者:
shiyiming
时间:
2004-12-29 15:04
标题:
回复
我来写一段,与ahuige的差不多,供参考:(用data步也可以实现)
data base;
input x1-x3;
cards;
4 5 6
7 8 9
5 1 7
;
run;
proc sql;
create table new as
select mean(x1)as mean_x1,mean(x2)as mean_x2,mean(x3)as mean_x3 from base;
quit;
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2