楼主: lnlhckao123
1809 8

[问答] 200论坛币请问sas中按顺序插入几个变量的问题 [推广有奖]

  • 0关注
  • 3粉丝

副教授

61%

还不是VIP/贵宾

-

威望
0
论坛币
14832 个
通用积分
9.1001
学术水平
7 点
热心指数
4 点
信用等级
4 点
经验
12566 点
帖子
754
精华
0
在线时间
399 小时
注册时间
2010-8-21
最后登录
2024-2-8

200论坛币
请问高手我如下的程序错在哪里,我运行后会出现如下的错误(log窗口),我的问题是:1.ERROR 85-322: 期望格式名。错误怎样纠正。2.为什么aaa1只有15个变量(aaa中有15个变量,aaa1新增加3个)3。aaa1到最后怎么有231240 个记录。(aaa中只有19270个)。谢谢高手指点!!


谢谢指点!!

data aaa1;
set aaa(obs=0 keep=cardno--month);
month_group="";
set aaa(obs=0 keep=sex--age);
age_group1="";
age_group2="";
set aaa(obs=0 keep=ca--zn2);
format month_group $8 age_group1 $8 age_group2 $8;
run;

proc append base=aaa1 data=aaa ;
run;


19787  data aaa1;19788  set aaa(obs=0 keep=cardno--month);19789  month_group="";19790  set aaa(obs=0 keep=sex--age);19791  age_group1="";19792  age_group2="";19793  set aaa(obs=0 keep=ca--zn2);19794  format month_group $8 age_group1 $8 age_group2 $8;                           -                           85                           76                             ----------                             202ERROR 85-322: 期望格式名。
ERROR 76-322: 语法错误,语句将被忽略。
ERROR 202-322: 该选项或参数不可识别,将被忽略。
19795  run;
NOTE: SAS 系统由于错误而停止了该步的处理。WARNING: 数据集 aaa1 可能不完整。该步停止时,共有 0 个观测和 17 个变量。WARNING: 数据集 aaa1 由于该步已停止,而没有被替换。NOTE: “DATA 语句”所用时间(总处理时间):      实际时间         0.01 秒      CPU 时间         0.00 秒

1979619797  proc append base=aaa1 data=aaa ;19798  run;
NOTE: 正在追加 aaa 至 aaa1。WARNING: 变量 age_group 在 DATA 文件中没有找到。NOTE: 从数据集 aaa 读取了 19270 个观测。NOTE: 添加了 19270 个观测。NOTE: 数据集 aaa1 有 231240 个观测和 15 个变量。NOTE: “PROCEDURE APPEND”所用时间(总处理时间):      实际时间         0.01 秒      CPU 时间         0.01 秒









最佳答案

pl172231 查看完整内容

你的期望格式名错误是因为你的format语句的format month_group $8 age_group1 $8 age_group2 $8;数字后面忘记加句号了,应该是format month_group $8. age_group1 $8 age_group2 $8.;至于你的其它错误就太多了,你可能对sas的工作机制很不熟悉
关键词:200论坛币 0论坛币 论坛币 Procedure warning set run
即使在人大经济论坛这个网络世界,我仍以真诚为基础与我的好友进行交往!
沙发
pl172231 发表于 2013-5-15 22:30:00 |只看作者 |坛友微信交流群
你的期望格式名错误是因为你的format语句的format month_group $8 age_group1 $8 age_group2 $8;数字后面忘记加句号了,应该是format month_group $8. age_group1 $8 age_group2 $8.;至于你的其它错误就太多了,你可能对sas的工作机制很不熟悉
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
lnlhckao123 + 3 + 3 + 1 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 1   查看全部评分

使用道具

藤椅
lnlhckao123 发表于 2013-5-15 22:38:17 |只看作者 |坛友微信交流群
谢谢pl172231!可否请您多指点一下!!
即使在人大经济论坛这个网络世界,我仍以真诚为基础与我的好友进行交往!

使用道具

板凳
pl172231 发表于 2013-5-15 22:42:42 |只看作者 |坛友微信交流群
1format语句必须放在set语句前面
2没搞懂你想干什么
3如果仅仅是想先创建一个加了三个变量的表再把数据追加进去那么
data aaa1;
format agegroup$ 6. agegroup2$ 6. monthgroup$ 6.;
set aaa;
agegroup='';
agegroup2='';
monthgroup='';
run;

使用道具

报纸
lnlhckao123 发表于 2013-5-15 22:43:59 |只看作者 |坛友微信交流群
谢谢pl172231!我在8后面增加“.”后,程序就运行正常。再次谢谢!!
即使在人大经济论坛这个网络世界,我仍以真诚为基础与我的好友进行交往!

使用道具

地板
pl172231 发表于 2013-5-15 22:49:07 |只看作者 |坛友微信交流群
你不要得过且过啦,你的程序虽然可以运行但是它写的不好,希望你能把朱世武写的书买一本看看

使用道具

7
lnlhckao123 发表于 2013-5-15 22:58:44 |只看作者 |坛友微信交流群
您好pl172231!请问,我运行您的程序(data aaa1)后,sas一直处于运行中,work中并没有出现aaa1这个数据集,是什么原因?望指点!!
data aaa1;
format agegroup$ 6. agegroup2$ 6. monthgroup$ 6.;
set aaa;
agegroup='';
agegroup2='';
monthgroup='';
run;
即使在人大经济论坛这个网络世界,我仍以真诚为基础与我的好友进行交往!

使用道具

8
pl172231 发表于 2013-5-15 23:09:12 |只看作者 |坛友微信交流群
因为你时间没等够,电脑有点慢吧
已有 1 人评分热心指数 收起 理由
lnlhckao123 + 3 热心帮助其他会员

总评分: 热心指数 + 3   查看全部评分

使用道具

9
lnlhckao123 发表于 2013-5-15 23:13:32 |只看作者 |坛友微信交流群
不好意思,我又运行了几次,可以运行了!您说我对sas的工作机制很不熟,是的,您说对了,我对统计感兴趣,才去学sas,刚入门,望多指点!!再次谢谢您耐心的答复!!
即使在人大经济论坛这个网络世界,我仍以真诚为基础与我的好友进行交往!

使用道具

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

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

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

GMT+8, 2024-5-10 04:14