SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 2375|回复: 11
打印 上一主题 下一主题

如何在一张表中引用另一张表的数据

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2004-12-23 18:50:05 | 只看该作者

如何在一张表中引用另一张表的数据

假设要新建一张表new,表中数据是work里已存在的base表中的num这一字段的均值,该如何写这段程序啊,谢谢大家指点!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2004-12-24 01:42:49 | 只看该作者

是求不同组内的均值还是全部的均值

给个例子和想要的结果
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2004-12-24 07:54:12 | 只看该作者

re频数统计可否对行进行统计?

data base;
input x1-x3;
cards;
4 5 6
7 8 9
5 1 7
;
run;
现在我要新建一张表new,要求表的第一行是x1的均值,第二行是x2的均值,第三行是下的均值,该怎么处理数据,谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2004-12-24 08:59:18 | 只看该作者

你是在说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;

这肯定不是最好的方法,过几天再想想
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2004-12-24 09:54:27 | 只看该作者

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;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2004-12-24 12:33:00 | 只看该作者

语法解释

ahuige,谢谢你的帮忙。
再扰烦解释一下,
mean(x1)*(n=1)+mean(x2)*(n=2)+mean(x3)*(n=3)
这句话是怎么执行的,谢谢
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2004-12-24 12:38:54 | 只看该作者

re

如果数据变量不是三个而是x1-x1000,我又该怎么写proc sql 中的
select 语句,总不能连加一千回吧,呵.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2004-12-24 12:56:23 | 只看该作者

re说的是均值

smartie
我说的是means,对了,如果是freq,那又该如何?freq有类似mean(x1)这样的函数吗?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2004-12-24 14:22:30 | 只看该作者

to huangxeon

一千个怕什么,有宏语句给你挣腰,1万个都不怕。
只要你变量编码规则就好办,就算不规则,用什么proc contents输出变量名为文件,总之一定搞得定,呵呵。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
10#
 楼主| 发表于 2004-12-24 14:30:52 | 只看该作者

不标准也有好处

标准的sql语法应该用avg,而不是用mean,标准的sql语法也不能把逻辑变量自动当成数字运算,这就是sas的好处。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-8 17:45 , Processed in 0.074036 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表