全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1679 4
2011-02-28
data a;
input  id $20. x1-x6;
cards;
aa /// bb /// cc 1 2 3 4 4 5
dd /// ee         1 2 3 8 9 10
;
如何将其转化成,
aa   0.333 0.6667 1 1.3333 1.3333 1.6667
bb    0.333 0.6667 1 1.3333 1.3333 1.6667
cc    0.333 0.6667 1 1.3333 1.3333 1.6667
.....
这个结果就是如果变量中有‘///’的个数+1,后面的数据除以(个数+1)
现在有点头疼,搞不定,请帮忙处理一下!
谢谢了!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-2-28 15:45:36
复制代码
抛砖引玉......
二维码

扫码加我 拉你入群

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

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

2011-2-28 16:22:20
data a(rename=(id1=id));
retain id1;
input  id:$20. x1-x6;
array xx x1-x6;
do over xx;
xx=xx/(count(id,"///")+1);
end;
do i=0 to count(id,"///");
id1=scan(id,i+1,"///");
output;
end;
drop id  i;
cards;
aa///bb///cc 1 2 3 4 4 5
dd///ee         1 2 3 8 9 10
  ;
这个程序基于上面修改而成
二维码

扫码加我 拉你入群

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

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

2011-2-28 20:48:05
复制代码
二维码

扫码加我 拉你入群

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

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

2011-2-28 21:13:47
复制代码
作为菜鸟,就来解释解释大神的代码,一边学习一边解释...
请问count()函数第三个参数“i”和“t”分别代表什么意思,看了help里的英文模模糊糊的,不知道理解的对不对
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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