全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1616 4
2017-03-31
悬赏 5 个论坛币 已解决
请教sas程序,假设有下列数据,这是双向关系数据表,本应该是n*n的数据模式,但因为数据问题,导致列变量缺少,现在想做的是把他变成N*n的形式,也就是添加a1,a5,a6,a8,a9,a12,a13列,数值可以直接设为0。
这个数据表我列的比较简单,真实的数据是行有200+,列有100+,所以手工添加列变化过于复杂,恳请各位指教,谢谢!
a2a3 a4a7a10a11
a1

0

C

0

9

a2

0.023885

C

0

0.9

a3C

0

C

0

19.6

a4

0

C

0

3864.6

a5

0

C

0

0

a6

0

C

0

0.8

a7

0

C

0

48.86

a8

0

C

0

1.07

a9

13.37665

1450.292

CC

125.9

15.76924

a10

0

C

0

12.7

a11

0

C

0

0

a12

4921.651

484.6763

2089.356

21.2938

4922.8

10.55057

a13

402.2549

379.3032

CC

2022.1



二维码

扫码加我 拉你入群

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

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

全部回复
2017-3-31 17:48:49
复制代码
二维码

扫码加我 拉你入群

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

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

2017-3-31 19:47:13
各位帮帮忙,求解答
二维码

扫码加我 拉你入群

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

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

2017-4-1 15:49:27
data t;
        array a[*] a1-a13;
        do i = 1 to dim(a);
                a[i] = 1;
        end;
run;

可以考虑用这种数组,细节要把字符型和数值型分开,你自己研究下
二维码

扫码加我 拉你入群

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

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

2017-4-1 19:46:20
/*请教sas程序,假设有下列数据,这是双向关系数据表,
本应该是n*n的数据模式,但因为数据问题,导致列变量缺少,
现在想做的是把他变成N*n的形式,也就是添加a1,a5,a6,a8,a9,a12,a13列,
数值可以直接设为0。这个数据表我列的比较简单,真实的数据是行有200+,
列有100+,所以手工添加列变化过于复杂,恳请各位指教,谢谢!*/

/*解决实际问题之填补缺失的列变量*/
data nm;
input name  $  a2  a3  a4  $   a7;
cards;
a1 . 0    c    0
a2 . 0.23 c    0
a3 c 0    c    0
a4 . 0    c    0
a5 . 0    c    0
a6 . 0    c    1
a7 . 0    c    1
;

/*取列变量name所有的值*/
proc sql noprint;
select name into :rowname separated by ' '
from nm;
quit;

%put &rowname;

/*删除列变量名name*/
data nm1;
set nm;
drop name;
run;

/*取列变量名在行变量名(总集)的缺失变量值*/
proc contents data=nm1 out=list;run;
proc sql noprint;
create table short as
select name
from nm
where name not in (select name from list);
quit;

/*将缺失变量名赋值给宏变量*/
proc sql noprint;
select name into :shortname separated by ' '
from short;
quit;

%put &shortname;

/*讲新增变量(缺失变量)赋值为0*/
data nn;
set nm;
retain &shortname 0;
run;

/*排序和观测变量名一致,即得到NxN方阵(矩阵)*/
data nn;
retain name &rowname;
set nn;
run;

附件列表

填补缺失的列变量名.txt

大小:1.2 KB

 马上下载

填补缺失变量

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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