全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3267 4
2010-04-18
本人第一次接触SAS,刚才把SAS9.2安好(纠结。。),现在需要用它做一下因子分析,因子分析的原理和具体步骤什么的我都买书看了(漫画统计学之因子分析),哪位好心人能给我贴一段SAS的因子分析代码啊。
数据涉及到的自变量只有5个或者6个,公共因子就是2个。
或者留言推荐我看一下SAS的SQL语言的电子书也可以,比较急,谢谢啦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-4-18 15:11:02
怎么没人回啊。。。。自己顶起来。。。

我举一个例子好了:下面是我找的一个例子

data=ecm1;
input y X1-X9 @ @;
cards;
1980 1.1167 1.1009 0.9872 1.0563 1.0665 1.1944 1.1889 0.9835
1981 1.0634 1.0686 0.9925 1.0097 0.8949 1.0616 1.0981 1.0041
1982 1.0982 1.0804 1.0562 1.0746 1.2664 1.0756 1.0936 1.0316
1983 1.1169 1.1123 1.0673 1.077 1.1262 1.0596 1.1087 1.1112
1984 1.1183 1.1934 1.0924 1.1167 1.245 1.2127 1.185 1.2025
1985 1.2605 1.242 1.0988 1.115 1.4179 1.2202 1.275 1.2427
1986 1.1496 1.1195 1.0301 1.1116 1.1773 1.2001 1.1498 1.211
1987 1.2094 1.185 1.0357 1.1032 1.1615 1.1334 1.1758 1.0485
1988 1.2931 1.2604 1.0497 1.0718 1.2023 1.2313 1.2784 1.1094
1989 1.1565 1.1125 1.0609 1.0741 0.9177 1.1305 1.0899 1.1217
1990 1.1019 1.0917 1.0225 1.0241 1.1551 1.127 1.0245 1.1237
1991 1.1516 1.1205 1.0089 1.0679 1.2431 1.1263 1.1344 1.0901
;
proc factor data=ecm1 outstat =ecfact;
var X1-X8;
proc factor data=ecm1 priors=max n=2
rotate=v;
var X1-X8;
proc print data=ecfact;
run;
////////////////////////////////////////////////////////////////////
点击提交之后log里面报错如下:

1    data=ecm1;
     ----
     180

ERROR 180-322: 语句无效或未按正确顺序使用。

2    input y X1-X9 @ @;
     -----
     180

ERROR 180-322: 语句无效或未按正确顺序使用。

3    cards;
     -----
     180

ERROR 180-322: 语句无效或未按正确顺序使用。

4    1980 1.1167 1.1009 0.9872 1.0563 1.0665 1.1944 1.1889 0.9835
     ----
     180
ERROR 180-322: 语句无效或未按正确顺序使用。

5    1981 1.0634 1.0686 0.9925 1.0097 0.8949 1.0616 1.0981 1.0041
6    1982 1.0982 1.0804 1.0562 1.0746 1.2664 1.0756 1.0936 1.0316
7    1983 1.1169 1.1123 1.0673 1.077 1.1262 1.0596 1.1087 1.1112
8    1984 1.1183 1.1934 1.0924 1.1167 1.245 1.2127 1.185 1.2025
9    1985 1.2605 1.242 1.0988 1.115 1.4179 1.2202 1.275 1.2427
10   1986 1.1496 1.1195 1.0301 1.1116 1.1773 1.2001 1.1498 1.211
11   1987 1.2094 1.185 1.0357 1.1032 1.1615 1.1334 1.1758 1.0485
12   1988 1.2931 1.2604 1.0497 1.0718 1.2023 1.2313 1.2784 1.1094
13   1989 1.1565 1.1125 1.0609 1.0741 0.9177 1.1305 1.0899 1.1217
14   1990 1.1019 1.0917 1.0225 1.0241 1.1551 1.127 1.0245 1.1237
15   1991 1.1516 1.1205 1.0089 1.0679 1.2431 1.1263 1.1344 1.0901
16   ;

17   proc factor data=ecm1 outstat =ecfact;
ERROR: 文件“WORK.ECM1.DATA”不存在。
18   var X1-X8;

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

19   proc factor data=ecm1 priors=max n=2
ERROR: 文件“WORK.ECM1.DATA”不存在。
20   rotate=v;
21   var X1-X8;
ERROR: 没有打开的数据集可用来查找变量。

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



22   proc print data=ecfact;
23   run;

NOTE: 数据集 WORK.ECFACT 中没有变量。
NOTE: “PROCEDURE PRINT”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒
///////////////////////////////////////////////////////////////
我没看懂,请高人指教。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-4-18 15:12:03
PROC FACTOR DATA=sample n = 15  ROTATE=VARIMAX REORDER SCORE OUT=OUT;
RUN;

PROC PLOT DATA = Out;
  PLOT factor2*factor1 $PD_INST_ID = '*'/href=0 vref=0;
RUN;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-4-18 15:13:42
PROC FACTOR DATA=sample n = 15  ROTATE=VARIMAX REORDER SCORE OUT=OUT;
RUN;

PROC PLOT DATA = Out;
  PLOT factor2*factor1 $PD_INST_ID = '*'/href=0 vref=0;
RUN;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-4-18 15:35:42
你用SPSS做不更简单
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群