SAS中文论坛

标题: 读数据问题 [打印本页]

作者: shiyiming    时间: 2004-5-24 11:53
标题: 读数据问题
我按照书中的例子来做,就是过不去。
程序如下:
[code:837e3]data Varc;
input v1 1-6 v2 7-12 v3 13-18 v4 19-24 v5 25-29 v6 30-35 v7 38-42 v 43;
label v1='脑血管病' v2='心血管病' v3='癌症' v4='呼吸系统病'
          v5='动脉硬化性心脏病' v6='伤亡事故' v7='传染病' v='省份名称'
cards;
136.97109.48 76.32 74.5255.23 46.47 24.651
128.80 95.29 79.42 69.2052.18 28.31 26.912
104.03 74.30140.66 71.7622.50 48.16 11.903
101.41126.62 98.13 89.5155.48 40.38 50.514
58.76 61.74 91.09 81.5821.08 61.92 38.045
70.49109.64 72.47 81.0920.90 40.11 26.976
55.93148.51 56.25153.94 .  101.24 81.657
73.86 99.84 63.09153.38 . 54.23 93.068
;
proc format;
value vf 1='北京' 2='天津' 3='上海' 4='河北' 5='福建' 6='辽宁'
         7='四川' 8='西藏';
title '1973-1975年中国部分省市男性死因分析';
proc print;
proc univariate data=Varc normal;
var v1;

run;[/code:837e3]
运行日志如下:
[color=darkred:837e3][code:837e3]1    data Varc;
2    input v1 1-6 v2 7-12 v3 13-18 v4 19-24 v5 25-29 v6 30-35 v7 38-42 v 43;
3    label v1='脑血管病' v2='心血管病' v3='癌症' v4='呼吸系统病'
4          v5='动脉硬化性心脏病' v6='伤亡事故' v7='传染病' v='省份名称'
5    cards;
NOTE: SCL source line.
6    136.97109.48 76.32 74.5255.23 46.47 24.651
     ---------
     180
ERROR 180-322: Statement is not valid or it is used out of proper order.

7    128.80 95.29 79.42 69.2052.18 28.31 26.912
8    104.03 74.30140.66 71.7622.50 48.16 11.903
9    101.41126.62 98.13 89.5155.48 40.38 50.514
10    58.76 61.74 91.09 81.5821.08 61.92 38.045
11    70.49109.64 72.47 81.0920.90 40.11 26.976
12    55.93148.51 56.25153.94 .  101.24 81.657
13    73.86 99.84 63.09153.38 . 54.23 93.068
14   ;

ERROR: No CARDS or INFILE statement.
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.VARC may be incomplete.  When this step was stopped there were 0 observations and 8 variables.
NOTE: DATA statement used:
      real time           0.38 seconds



15   proc format;
16   value vf 1='北京' 2='天津' 3='上海' 4='河北' 5='福建' 6='辽宁'
17            7='四川' 8='西藏';
NOTE: Format VF has been output.
18   title '1973-1975年中国部分省市男性死因分析';

NOTE: PROCEDURE FORMAT used:
      real time           0.11 seconds


19   proc print;

NOTE: No observations in data set WORK.VARC.
NOTE: PROCEDURE PRINT used:
      real time           0.22 seconds


20   proc univariate data=Varc normal;
21    var v1;
22
23   run;

NOTE: No observations in data set WORK.VARC.
NOTE: PROCEDURE UNIVARIATE used:
      real time           0.11 seconds[/code:837e3][/color:837e3]

请问怎么解决?
作者: shiyiming    时间: 2004-5-24 14:13
1、你看这些数字都粘连在一块儿‘136.97109.48’,系统自然不认识喽。
2、label语句最后没有分号结尾。
[quote:46ad3]......
label v1='脑血管病' v2='心血管病' v3='癌症' v4='呼吸系统病'
     v5='动脉硬化性心脏病' v6='伤亡事故' v7='传染病' v='省份名称'
cards;
136.97109.48 76.32 74.5255.23 46.47 24.651
......[/quote:46ad3]
我帮你改一行
[quote:46ad3]......
label v1='脑血管病' v2='心血管病' v3='癌症' v4='呼吸系统病'
     v5='动脉硬化性心脏病' v6='伤亡事故' v7='传染病' v='省份名称';
cards;
136.97 109.48 76.32 74.52 55.23 46.47 24.651
......[/quote:46ad3]
作者: shiyiming    时间: 2004-5-24 15:23
谢谢shiyiming,只要在label后加';'就可以了,数据连在一起是对的。我刚开始学SAS,请多多指教。我是学计算机的,但对统计学很有兴趣,用来分析数据与做数据挖掘最好了。




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2