SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

12
返回列表 发新帖
楼主: shiyiming
打印 上一主题 下一主题

<一個處理資料的問題...請教高手>

[复制链接]

0

主题

0

帖子

2

积分

新手上路

Rank: 1

积分
2
11#
发表于 2009-3-13 09:41:07 | 只看该作者

Re: <一個處理資料的問題...請教高手>

[quote:1bnck0on]
2.format的意思是怎麼用
因為這不是讀資料而是要把資料比對進去
我想做的是如果sic=01那他就會自動去下面的答案找01=234
[/quote:1bnck0on]
怎么个自动法??
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
12#
 楼主| 发表于 2009-3-13 11:59:37 | 只看该作者

Re: <一個處理資料的問題...請教高手>

首先~真的很感謝妳幫我解答:
我的意思是假設我已經知道一比資料如下:
sic   value
01   234
02   634
03   423
04   234
.        .
.        .
.        .
99    789

然後假設:
sic1   sic2   sci3   sci4   sci5   sic6   sic7   sic8   sci9   sic10
01     02     
  .      02      03    04       .        .        .         .      .        .

結果應該要變成:
所以說我想利用我已知的資料填入

sic1   sic2     sci3    sci4   sci5   sic6   sic7   sic8   sci9   sic10
234     634       .       .        .        .        .        .       .        .     
  .       634     423    234     .        .        .         .      .        .

其時我的資料還蠻多的,大概有好幾萬筆要填,所以想說有沒有什麼程式碼可以直接幫我讀取寫入。
回复 支持 反对

使用道具 举报

0

主题

0

帖子

2

积分

新手上路

Rank: 1

积分
2
13#
发表于 2009-3-13 16:50:51 | 只看该作者

Re: <一個處理資料的問題...請教高手>

还是没有很明白……
把2组资料都放在txt,然后生成一个txt,放第三组数据?
够自动么?
回复 支持 反对

使用道具 举报

0

主题

0

帖子

2

积分

新手上路

Rank: 1

积分
2
14#
发表于 2009-3-13 17:09:12 | 只看该作者

Re: <一個處理資料的問題...請教高手>

好像没有帮到忙的样子,你的原始数据是什么格式的?txt还是sas的dataset阿。
如果是dataset,直接用format就好啦。
如果是txt, 改改前四行的宏变量,直接跑程序就好啦。
file1是放那几万行的文件名,file2是放你要改的文件名。
[code:1hsa2ko3] %let savepath=%str(D&#58;\temp\test);
%let file1=%str(temp1);
%let file2=%str(temp2);
%let outfile=%str(temp3);

Data format;
infile &quot;&amp;savepath\&amp;file1&#46;&#46;txt&quot; firstobs=1;
input sic $2&#46;  value $ ;
;
data format;
  set format;
  informat start $16&#46; end $16&#46; label $40&#46; fmtname $32&#46; type $1&#46;;
  start=sic;
  end=sic;
  label=value;
  fmtname='aa';
  type='c';
  keep start end label fmtname type;
run;
proc format library=work cntlin=format;run;

data new;
infile &quot;&amp;savepath\&amp;file2&#46;&#46;txt&quot;    firstobs=1;
informat sic1-sic10  $2&#46; ;
format sic1-sic10 $aa&#46;;
input sic1-sic10  $ ;
run;
PROC EXPORT DATA= new   OUTFILE= &quot;&amp;savepath\&amp;outfile&#46;&#46;txt&quot;   
            DBMS=TAB REPLACE;
RUN;[/code:1hsa2ko3]
回复 支持 反对

使用道具 举报

0

主题

0

帖子

2

积分

新手上路

Rank: 1

积分
2
15#
发表于 2009-3-13 17:13:55 | 只看该作者

Re: <一個處理資料的問題...請教高手>

temp1.txt
---------------------------
01 234
02 634
03 423
04 234
99 789
=========================
temp2.txt
---------------------------
01 02 . . . . . . . .
. 02 03 04 . . . . . .
=========================
temp3.txt
---------------------------
sic1        sic2        sic3        sic4        sic5        sic6        sic7        sic8        sic9        sic10
234        634                                                               
        634        423        234
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 12:19 , Processed in 0.068243 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表