全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
13061 11
2013-01-30
念书的时候学过一点SAS,最近密集的应用SAS半年,然后跑去听R的课程
感觉到R确实是灵活,一个好处是:
前面一行指令计算得到的结果可以轻易的被后一行指令调用,
因为它的输入和输出管理的很好,算出来的东西都存在dataframe,向量或者表里,再调用就方便了
而SAS我觉得这方面体现的不太好,
比如,我怎么找到一组数字的最大值,然后把所有数字都除以这个最大值?
R实现
x<-c(1,2,3,4,5);
y<-max(x);
(z<-x/y);
SAS实现
……先跟我说说一组数的最大值怎么求

二维码

扫码加我 拉你入群

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

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

全部回复
2013-1-30 13:51:31
/*最近这个好像争议又热起来了;
R,matlab都是交互式的语言的,
很方便将前面的结果放在后面的应用中*/

/*SAS稍稍有些烦,大多还是依靠宏变量来传递*/

data ex;
do x=1 to 5;
output;
end;
run;

solution1:

proc means data=ex;
var x;
output out=res max=max_x;/*ods语句也可以*/
run;
data _null_;
set res;
if _n_=1 then call symputx('max',max_x);
run;
%put &max;

solution2:

proc sql;
select max(x) into:max from ex;
quit;
%put &max;

/*但是别忘了,SAS也有一门交互式的语言iml*/
solution3:;
proc iml;
a=1:5;
max=a[<>];
print max;
quit;
二维码

扫码加我 拉你入群

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

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

2013-1-30 14:43:54
ziyenano 发表于 2013-1-30 13:51
/*最近这个好像争议又热起来了;
R,matlab都是交互式的语言的,
很方便将前面的结果放在后面的应用中*/
...
iml搞起,讨论iml的好像比较少啊
二维码

扫码加我 拉你入群

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

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

2013-1-30 16:02:01
IML可以直接调用R。
IML可以用来计算矩阵。
要比敲代码行数和字数,SAS是比不过R,但是如果需要用于自动化运行的代码,R还是得写成函数形式,然后调用,字数行数也不少,其实一样的,只是取决于想用来做什么。
比如计算1+1,R和Matlab都比SAS好用,当然按计算器更方便,用手指比按计算器还快,嗯。。。
二维码

扫码加我 拉你入群

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

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

2013-1-30 16:11:06
ziyenano 发表于 2013-1-30 13:51
/*最近这个好像争议又热起来了;
R,matlab都是交互式的语言的,
很方便将前面的结果放在后面的应用中*/
...
哈哈 多谢多谢~~~~~
我是非常想看到这段代码的
二维码

扫码加我 拉你入群

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

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

2013-1-30 16:20:12
zhangzachary 发表于 2013-1-30 16:02
IML可以直接调用R。
IML可以用来计算矩阵。
要比敲代码行数和字数,SAS是比不过R,但是如果需要用于自动化 ...
不明觉厉!学习了
关于自动化,能再介绍一点吗?
是说如果想实现复杂的功能,R代码需要编译打包之类的吗?不像SAS,可以直接运行?
谢谢~
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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