全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3475 7
2015-05-24
大家好我刚接触sas ,在做些数据预处理的工作,想请教一下

我把文件命名为member_01,member_02……member_99的CSV导入到work逻辑库以后(已完成),想要对所有的表格进行两个操作,一:保存主要变量var1,var2,……var7   二,将var3的值缺失的行删除   操作结束后保存为新表membernew_01……membernew_99.


请问怎么做?
谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2015-5-24 17:02:17
很简单啊   data  your_table;
                modify yout_table;
rename %do i=1 %to #
            var&i.=membernew_&i
          %end;;
run;
二维码

扫码加我 拉你入群

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

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

2015-5-24 18:34:36
luoyexu@126.com 发表于 2015-5-24 17:02
很简单啊   data  your_table;
                modify yout_table;
rename %do i=1 %to #
谢谢
好像有点问题。感觉你给的代码是对变量进行了重命名。
我要做的是,把每一张表格里的某几个变量所在列保存下来,需要在99张表格里面进行同样的操作,感觉主要是修改那一步应该进行循环
麻烦你再帮忙看一下 谢谢
二维码

扫码加我 拉你入群

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

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

2015-5-24 18:53:10
data test_1;
do i=1 to 99;
if i<10 then n=compress("0"||i);
else n=compress(i);
output;
end;
keep n;
run;

data _null_;
set test_1;
call symput(compress("F_name"||(_n_)),compress(n));
if last then call symput("sum",compress(_N_));
run;


%MACRO FREQ();
%DO I=1 %TO 99;
DATA membernew_&&F_name&I..;
SET member_&&F_name&I..(KEEP=VAR1-VAR7);
IF VAR3=. THEN DELETE;
RUN;
%END;
%MEND;
RUN;
二维码

扫码加我 拉你入群

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

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

2015-5-24 18:54:12
上面的第二个程序 改成这样
data _null_;
set test_1 end=last;
call symput(compress("F_name"||(_n_)),compress(n));
if last then call symput("sum",compress(_N_));
run;
二维码

扫码加我 拉你入群

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

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

2015-5-24 19:50:39
舍身卫道 发表于 2015-5-24 18:53
data test_1;
do i=1 to 99;
if i
你好  谢谢你的解答
我刚才看了一下感觉应该是对的 但是很多地方仍然不太明白,准备之后再研究。

问一下。我需要在你的macro freq()中输入什么参数呀 因为我直接运行是没有成功的
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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