楼主: dixingcui
2975 3

[求助]主成份和聚类分析 [分享]

  • 0关注
  • 0粉丝

学前班

20%

还不是VIP/贵宾

-

威望
0
论坛币
30 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
63 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2008-5-8
最后登录
2008-5-8

dixingcui 发表于 2008-5-8 18:37:00 |显示全部楼层

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

*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 秒


关键词:聚类分析 主成份 importance Procedure attribute 聚类分析 成份

回帖推荐

你的太阳 发表于4楼  查看完整内容

*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;      deli ...

本帖被以下文库推荐

stata SPSS
loures 发表于 2008-5-9 11:18:00 |显示全部楼层

看一下是不是读取文件有问题,你可以先把数据手工导进去,然后执行分析

来这里,是因为它的好,还有曾经的向往、奋斗与遗憾!
回复

使用道具 举报

PharmD 发表于 2008-5-10 05:24:00 |显示全部楼层
Would you please post the ENTIRE log? I want to see whether PROC MEANS executed correctly.
回复

使用道具 举报

你的太阳 发表于 2008-5-10 10:39:00 |显示全部楼层

*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;”
从报错的情况看,应该是读入数据时就报错了

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 10 精彩帖子

总评分: 经验 + 3  论坛币 + 10   查看全部评分

回复

使用道具 举报

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

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

GMT+8, 2020-3-30 02:04