全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2961 10
2010-08-11
我刚接触SAS不太会~ 现在马上做一个数据处理 很着急~~~~~
要处理一堆数据,txt文档,数据格式如下:
09:15:00.500     09:15:00    3046.00 2    3046.20 1    3046.00 136
09:15:01.000     09:15:01    3046.40 5    3047.20 16  3046.40 174
09:15:01.500     09:15:01    3046.40 3    3047.20 14  3046.40 183
09:15:02.500     09:15:02    3047.80 2    3048.00 44  3048.00 225
09:15:03.000     09:15:03    3047.80 1    3048.00 18  3048.00 265
。。。。。。
(大概3万条左右)空格键间隔

请教高手:
(1)怎么把数据读入SAS里面 (第1、2列是时间,我知道SAS无法处理毫秒,所以想用字符串读入;我写的是input time1 $ 12. time2 $ 8.  p1 23-29 v1 25-26......但读入出的数据总是会莫名其妙的少掉一些;如果不在p1,v1后面加列限制,它读出的全为空;我就不知道怎么办了)

(2)并且做如下处理:第一列是时间,本来应该是每500毫秒产生一组数据,但是现在有缺失,比如09:15:01。500与09:15:02.500之间就却少了09:15:02.000这一组。因此每当遇到的缺失的时间要补出,并使补出行的其他数据与上一个时间的数据相同。(我的想法是单独建立一个完整时间的数据集合,然后让本来的这个集合与之连接,就把时间相同的接上了;然后剩下的空行再填上与上一行相同的数据; 但这部分代码我不会写)

(3)在已补充完成的完整时间序列中,提取出每3秒的数据,比如09:15:00,09:15:18... 放在新的数据集合中

(4)这样的txt文件有100多个,全部需要作上述处理,不可能一个一个的做,需要使用macro来导入txt作数据处理  但是我完全不会macro

请大家帮帮我 把详细的、完整的code写给我  十分感谢了~~~
二维码

扫码加我 拉你入群

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

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

全部回复
2010-8-11 17:23:23
看都看不懂 爱莫能助啊 帮你顶一下吧
二维码

扫码加我 拉你入群

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

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

2010-8-11 17:30:06
唉。难道我描述不清么。。。 我觉得我基本上表达清了。。。
苍天啊。。谁帮帮我 再做不出来明天老大要骂人了。。。
二维码

扫码加我 拉你入群

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

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

2010-8-11 17:38:52
复制代码
可能可以解决你的第一个问题
二维码

扫码加我 拉你入群

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

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

2010-8-11 19:35:28
data test1;
do h=1 to 24;
   do m=1 to 60;
           do s=1 to 120;
         output;
        end;
        end;
end;
run;
%macro aa(var);
if &var.<10 then &var.1="0"||left(put(&var.,$2.));
else &var.1=left(put(&var.,$2.));
%mend ();
data test2;
set test1;
%aa(h);
%aa(m);
if s=1 then  s1=0;
s1=int(s/2);
%aa(s1);
if mod(_n_,2)=0  then a3=500;
else a3=0;
var=trim(h1)||":"||trim(m1)||":"||trim(s11)||"."||left(a3);
time=trim(h1)||":"||trim(m1)||":"||trim(s11);
run;


data test3;
set test2;
if mod(s1,3)=0 then output;
run;


可以类似这个思路写,至于最后一个,
%macro ab();
data test4;
%do i=1 %to 100;
infile "d:\test&i"
%end;
;
run;
%mend;
%ab();


仅供参考啊
二维码

扫码加我 拉你入群

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

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

2010-8-11 19:35:35
soporaeternus 发表于 2010-8-11 17:38
复制代码
可能可以解决你的第一个问题
救人救到底,送佛送到西啊
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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