全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4142 6
2013-10-28
问题如下:有两个数据集有40个相同的变量,数据集A中有1000条记录,数据集B中有一条记录,我现在要做的是用数据集A中的每个记录的每个变量与数据集B中的每个变量相减,产生新的数据集。

由于变量较多,rename 会很麻烦,有没有较好的方法?
二维码

扫码加我 拉你入群

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

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

全部回复
2013-10-28 22:10:13
I don't think there is a way that you can skip the rename step to finish you job.
But maybe you can do the rename job skillfully!
https://bbs.pinggu.org/thread-2407075-1-1.html
二维码

扫码加我 拉你入群

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

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

2013-10-28 22:11:00
二维码

扫码加我 拉你入群

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

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

2013-10-29 06:53:09
data A;
input x y @@;
datalines;
1 2 3 4 5 6 7 8
;
data B;
input x y;
datalines;
10 10
;
proc sql noprint;
  select (compress(('A.'||name||'-'||'B.'||name)) || ' as '||compress(name||name)) into :xxx separated by ', '
  from dictionary.columns
  where libname="WORK" and memname="B";
quit;
%put &=xxx;


proc sql;
  create table C as
    select &xxx
        from A, B;
quit;


因为B小也可两次转置加前缀进行所有变量的重命名。
仅供参考
二维码

扫码加我 拉你入群

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

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

2013-10-29 09:17:35
To avoid renaming a large number of variables,
you can use a temporary array, such as:
复制代码
二维码

扫码加我 拉你入群

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

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

2013-10-31 16:30:59
proc iml应该也可以吧。。。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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