经管之家首页 答疑首页 SAS [求助]主成份和聚类分析
  • 统计与数据分析
  • 经济学
  • 管理学
  • 金融学
  • 财会类
  • 国际贸易类
  • 考研考博与考证
  • 找数据和资料
  • 求职与职场
  • 学术与投稿类
  • 社会生活
  • 其它

大家帮我看看一下代码有什么问题,老是出错,急。谢啦

*FA_Clust.SAS runs Factor Analysis & Cluster Analysis
        for social area analysis in Beijing             */
/*By Fahui Wang on 2-4-05                               */

/* read the attribute data */
proc import datafile="c:\gis_quant_book\projects\bj\bjattr.csv"
     out=bj1 dbms=dlm replace;
     delimiter=', ';
     getnames=yes;
proc means;

/* Run factor analysis */
proc factor out=fscore(replace=yes)
  nfact=4 rotate=varimax; /* 4 factors used */
  var x1-x14;
/*export factor score data */
proc export data=fscore dbms=csv
     outfile="c:\gis_quant_book\projects\bj\factscore.csv";

/* Run cluster analysis */
/* Factor scores are first weighted by their relative importance
   measured by variance portions accounted for (based on FA)  */
data clust; set fscore;
      factor1 = 0.3516*factor1;
      factor2 = 0.1542*factor2;
      factor3 = 0.1057*factor3;
      factor4 = 0.0922*factor4;
proc cluster method=ward outtree=tree;
   id ref_id; var factor1-factor4; /*plot dendrogram */
proc tree out=bjclus ncl=9; /* cut the tree at 9 clusters */
   id ref_id;
/* export the cluster analysis result */
proc export data=bjclus dbms=csv
   outfile="c:\gis_quant_book\projects\bj\cluster9.csv";
run;

运行以后出现一下错误,可我不知道该怎么修改。麻烦高手给指点一下哈

ERROR: 没有默认的输入数据集(_LAST_ 是 _NULL_)。
71
72   /* Run factor analysis */

NOTE: SAS 系统由于错误而停止了该步的处理。
NOTE: PROCEDURE MEANS 所用时间(总处理时间):
      实际时间         0.04 秒
      CPU 时间         0.01 秒

73   proc factor out=fscore(replace=yes)
74     nfact=4 rotate=varimax; /* 4 factors used */
ERROR: 没有默认的输入数据集(_LAST_ 是 _NULL_)。
75     var x1-x14;
76   /*export factor score data */

NOTE: SAS 系统由于错误而停止了该步的处理。
WARNING: 数据集 WORK.FSCORE 可能不完整。在停止该步后有 0 个观测和 0 个变量。
NOTE: PROCEDURE FACTOR 所用时间(总处理时间):
      实际时间         0.04 秒
      CPU 时间         0.00 秒

77   proc export data=fscore dbms=csv
78        outfile="c:\gis_quant_book\projects\bj\factscore.csv";
79
80   /* Run cluster analysis */
81   /* Factor scores are first weighted by their relative importance
82      measured by variance portions accounted for (based on FA)  */

NOTE: 数据集 WORK.FSCORE 中没有变量。
NOTE: Export Cancelled.
NOTE: SAS 系统由于错误而停止了该步的处理。
NOTE: PROCEDURE EXPORT 所用时间(总处理时间):
      实际时间         0.07 秒
      CPU 时间         0.07 秒

83   data clust; set fscore;
84         factor1 = 0.3516*factor1;
85         factor2 = 0.1542*factor2;
86         factor3 = 0.1057*factor3;
87         factor4 = 0.0922*factor4;

NOTE: 从数据集 WORK.FSCORE 读取了 0 个观测。
NOTE: 数据集 WORK.CLUST 有 0 个观测和 4 个变量。
NOTE: DATA 语句 所用时间(总处理时间):
      实际时间         0.01 秒
      CPU 时间         0.01 秒


88   proc cluster method=ward outtree=tree;
89      id ref_id; var factor1-factor4; /*plot dendrogram */
ERROR: 变量 REF_ID 没有找到。

NOTE: SAS 系统由于错误而停止了该步的处理。
WARNING: 数据集 WORK.TREE 可能不完整。在停止该步后有 0 个观测和 0 个变量。
NOTE: PROCEDURE CLUSTER 所用时间(总处理时间):
      实际时间         0.01 秒
      CPU 时间         0.01 秒

90   proc tree out=bjclus ncl=9; /* cut the tree at 9 clusters */
91      id ref_id;
ERROR: 变量 REF_ID 没有找到。
92   /* export the cluster analysis result */

NOTE: SAS 系统由于错误而停止了该步的处理。
WARNING: 数据集 WORK.BJCLUS 可能不完整。在停止该步后有 0 个观测和 0 个变量。
NOTE: PROCEDURE TREE 所用时间(总处理时间):
      实际时间         0.06 秒
      CPU 时间         0.00 秒

93   proc export data=bjclus dbms=csv
94      outfile="c:\gis_quant_book\projects\bj\cluster9.csv";
95   run;

NOTE: 数据集 WORK.BJCLUS 中没有变量。
NOTE: Export Cancelled.
NOTE: SAS 系统由于错误而停止了该步的处理。
NOTE: PROCEDURE EXPORT 所用时间(总处理时间):
      实际时间         0.07 秒
      CPU 时间         0.07 秒


你的太阳

*FA_Clust.SAS runs Factor Analysis & Cluster Analysis
        for social area analysis in Beijing             */

这个注释语句不对。

/* read the attribute data */
proc import datafile="c:\gis_quant_book\projects\bj\bjattr.csv"
     out=bj1 dbms=dlm replace;
     delimiter=', ';
     getnames=yes;

一般这个地方加 “RUN;”
从报错的情况看,应该是读入数据时就报错了

回答于 2008/05/10 10:39

0 0

 加载中...