全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3628 5
2012-12-22
数据集如下:
var1 var2 .....
x1   x2   ....
x3   x4   ....
x5   x6   ....
x7   x8   ....
我现在写用SAS做多元线性回归,我所需要用的自变量的名字存在以上数据集中,第一次我我需要把x1,x3,x5,x7从数据集中提取出来作为自变量, model y=x1 x3 x5 x7。第二次我需要把x2,x4,x6,x8从数据集中提取出来作为自变量, model y=x2 x4 x6 x8,  也就是说每次分析的自变量不同,最后会有许多不同的回归模型。请问会有没有办法把var1,var2,...... 的值提取出来作为自变量来分析, 但我不能复制粘贴,因为我有许多这种var变量。非常感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-23 16:55:50
这个可以使用SAS宏变量来解决
二维码

扫码加我 拉你入群

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

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

2012-12-23 17:54:06
南海游客,请问怎样用SAS宏变量来解决,可以给个具体的程序吗,谢谢
二维码

扫码加我 拉你入群

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

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

2012-12-23 19:11:49
title 'Regression With MACRO Variables';
data test;
   input y x1 x2 @@;
   x3=x1*x2;
   datalines;
17 151 0   26  92 0   21 175 0   30  31 0   22 104 0
0 277 0   12 210 0   19 120 0    4 290 0   16 238 0
28 164 1   15 272 1   11 295 1   38  68 1   31  85 1
21 224 1   20 166 1   13 305 1   30 124 1   14 246 1
;
run;

/*The following statements begin the analysis: */
/*%let xx1=x1;*/
%let xx2=x1 x2;
/*%let xx3=x1 x2 x3;*/

proc reg data=test;
   model y = &xx2;
run;
二维码

扫码加我 拉你入群

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

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

2012-12-23 23:13:43
谢谢davil2000,但这样的MACRO Variable达不到我的目的,我的自变量是变化的,第1次是x1,x3,x5,x7,第2次是x2 x4 x6 x8,.......,到第100次可能又是x101,x103,x105,x107,也就是说我要建立100个回归方程,每个回归方程都又4个自变量,每次的4个自变量的name都存在数据集
var1 var2 .....var100
x1   x2   ....x101
x3   x4   ....x103
x5   x6   ....x105
x7   x8   ....x107
二维码

扫码加我 拉你入群

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

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

2012-12-24 16:17:48
我也遇到同样问题我有一串待用的x variable名字是: 199901d, 199902d,...., 在一个叫demand的dataset里。
我想的方法是:

%do yy=1999 % to 2000;
%do qq= 1 %yo 4;
%let yyqq = &yy*1000+&qq;
%let yyqqd = &yyqq||'d';    (此步我不知道正确是怎么个写法,我想要199901d)

data shock;
      set demand;
      keep &yyqqd;
run;

然后用macro跑。但是我这个明显有问题: 1)variable名创建不出来; 2) 我估计data抓不到。
请高手指点!

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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