全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4030 2
2016-06-11
悬赏 5 个论坛币 未解决
设置不同的样本量10 20 50 100,分别抽样2000次,假设每个样本的总体相关系数为0,来探究影响样本中变量间相关系数变化的原因


LIBNAME CORR 'C:\Users\Administrator\Desktop';
%LET NO_SMPL=2000;   *** 记录每类样本大小情况下,其随机样本个数的宏变量;

%MACRO CORR_RDM;
%DO A = 1 %TO 4;          *** 四类样本大小情况: 10, 20, 50, 100;
  %IF &A=1 %THEN %DO; %LET SMPLSIZE=10;  %END;
  %IF &A=2 %THEN %DO; %LET SMPLSIZE=20;  %END;
  %IF &A=3 %THEN %DO; %LET SMPLSIZE=50;  %END;
  %IF &A=4 %THEN %DO; %LET SMPLSIZE=100; %END;

%DO B=1 %TO &NO_SMPL;   ***每类样本大小情况下,生成&NO_SMPL个随机样本;

DATA DAT;               ***生成两个随机变量,其相关性为零;
  DO I=1 TO &SMPLSIZE;
    X=RANNOR(0);
    Y=RANNOR(0);
    OUTPUT;
  END;run;
PROC CORR DATA=DAT NOPRINT OUT=PEARSON;  ***对每个随机样本,计算两个变量的相关系数,并保存在数据集PEARSON中;
  VAR X Y;
RUN;
DATA PEARSON1; SET PEARSON; ***将刚才得到的相关系数数据集增加样本大小这个变量;
  SMPLSIZE=&SMPLSIZE;
  IF _NAME_='X';
  CORR=Y;
  KEEP CORR SMPLSIZE; ***仅保留相关系数和样本大小两个变量;
PROC APPEND BASE=CORR.COR_RDM; ***将得到的相关系数和样本大小的数据集全部放入CORR.COR_RDM数据集中;
%END;
%END;
%MEND CORR_RDM;
%CORR_RDM;
RUN; QUIT;
本人的运行结果怎么又26116条记录,而不是8000条记录呢,求各位大神指导



二维码

扫码加我 拉你入群

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

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

全部回复
2018-8-16 09:44:17
什么意思?
二维码

扫码加我 拉你入群

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

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

2018-8-16 22:18:42
8000个观测,不多不少。
楼主是不是在测试过程中得到的结果,你使用了append过程,可能不小心多加了很多过程数据进去。

捕获.PNG
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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