推 faaar:非常感謝!!我先試試看...若有後續問題再向您請教 m(_ _)m 01/14 09:45
※ 引述《faaar (祈禱~~)》之銘言:
: 請問眾SAS高手們..
: 底下有兩個問題想請教~~
: 問題一是:
: 假設我原始raw data是TXT(ASCII文字格式)檔案,然後有三個變項
: 經過SAS處理我可以造出第四個變項….
: 但是我最後可以把第四個變項..
: 一樣輸出成ASCII文字格式的檔案(4個變項)嗎?
可以
方法一(點選式):
1.從menu bar中選 File-> Export Data
2.選擇要輸出的SAS data 然後點 Next
3.選擇要儲存的格式, "Select a data source from the list below"
請選 "Tab Delimited File (*.txt)" 然後點 Next
4.選擇輸出檔案的位置及檔案命名 然後點 Next
5.選擇SAS程式儲存位置並命名 然後點 Finish
若不想儲存SAS程式,則直接點Finish. (其實也可以在上一步就直接點Finish)
方法二(寫程式):
程式內容請參照方法一中所儲存的SAS程式
: 問題二是:
: 假設我的原始Raw data也是文字檔(ASCII格式)
: 然後我每一筆皆有3卡的資料,舉例如下:
: 123456789 1-9分別是欄位(非raw data數值)
: 01XXXXXXX 第1筆資料的第1卡
: 02XXXXXXX 第1筆資料的第2卡
: 03XXXXXXX 第1筆資料的第3卡
: 01YYYYYYY
: 02YYYYYYY
: 03YYYYYYY
: 01ZZZZZZZ
: 02ZZZZZZZ
: 03ZZZZZZZ
: 那我現在想要使用SAS將每一筆資料的
: 第2卡第5欄的數值都搬到第1卡第3欄的位子
: 然後其他順延…
: 最後輸出成一個新的Raw data
: 請問要怎麼處理呢?
我看不懂你要把你的資料變成怎樣,
但我可以給你一點資訊:
假設我的data是這樣
1234567 1-7分別是欄位
01abcde
02fghij
03klmno
01ABCDE
02FGHIJ
03KLMNO
01abcde
02fghij
03klmno
第一種作法是先把同一筆的資料放在同一行, 然後你再自己去看要挑哪些出來成新 raw
data
也就是會產生下列結果
01 a b c d e 02 f g h i j 03 k l m n o
01 A B C D E 02 F G H I J 03 K L M N O
01 a b c d e 02 f g h i j 03 k l m n o
程式:
data data1;
infile 'd:\test.txt' ;
input ID1 1-2 A1 3 A2 4 A3 5 A4 6 A5 7 #2 ID2 1-2 A6 3 A7 4 A8 5 A9 6 A10 7
#3 ID3 1-2 A11 3 A12 4 A13 5 A14 6 A15 7 ;
run;
第二種作法是直接挑你要的出來成一筆data
假設我想要看到的data是
01 a f g h
01 A F G H
01 a f g h
程式:
data data2;
infile 'd:\test.txt' ;
input ID $1-2 A1 $3 #2 A6 $3 A7 $4 A8 $5 #3;
run;
那個 #2 #3 就是跟SAS說你的資料是3列算是同一筆的,
並個別指定各列中的變數內容
給你這些資訊, 你要如何去整理你的data,
就請你自己再去作變通了
: 以上是小弟的問題
: 先謝謝大家的幫忙了
: 感謝~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.231.67.85