15-03-23
8.
20150323
fee_input1=input(fee,8.);
fee_input2=input(fee,comma8.1);
fee_input3=input(fee,dollar8.1);
$8.
date_put
put(n,comma8.1)
date
3200.2
input(fee,comma8.1)
data aa;
input n fee $ date $ date1;
cards;
3240.5 3200.2 20150323 20150323
;
proc print;
run;
3,240.5
資料內容
函數中的SOURCE指的是變項名稱,INFORMAT指的是想要轉換的資料花樣,以下以程式成立一筆資料,共4個變項,n. fee, date翻譯社 date1,讀入的資料格局如下。
fee_input2
n
8.
3200.2
n_put
資料內容
fee
【程式一】
date_input
put(n,dollar8.1)
$3翻譯社240.5
proc contents position data=bb;
run;
$8.
變項名
程式一的示範中,將文字型態的date 轉成日期格局,寬度為8個字元(byte),日期花樣為數值型態的一種,轉過來後的變項名稱為date_input,SAS貯存的是date_input與1960年1月1日間的天數差,20170天翻譯
$3,240.5
fee_input3
8.
3200.2
【產生典範資料檔】
8.
3200.2
8.1
3240.5
data bb;
set aa;
n_put=put(n翻譯社$8.);
n_put1=put(n翻譯社comma8.1);
n_put2=put(n,dollar8.1);
$8.
input(fee翻譯社8.)
n_put1 【程式二】 |
哄騙以上的程式二查看資料的內容,以瞭解資料轉換後的型態。根據下表,轉換後的資料型態只有2種,即8.或$8.,前者為數值型態,後者為文字型態。固然在INPUT()函數的INFORMAT給定comma8.1、dollar8.1、yymmdd8.,但轉換後並非預期的格局,只是數值型態,此時,需要再以FORMAT指令將花樣再作進一步處置,此時才是我們期望的資料花式翻譯 8. |
20170 |
3241 |
|
|
|||||
|
|
|
******** |
|
||||||
PUT( )函數的通式:PUT(SOURCE翻譯社 INFORMAT),可將數值型態的資料轉成文字型態的資料。 $8. |
程式一的示範中,將n 轉成文字型態,寬度為8個字元(byte),若將資料花樣轉為comma8.1,示意將資料轉成從右側數來每3位一個COMMA ','符號的資料格式,若將資料格局轉為dollar8.1,透露表現將資料轉成從右側數來每3位一個COMMA '翻譯社'符號的資料格式,且最前方會泛起一個金錢符號'$',但以上3種格局是透過PUT()轉換過來的,會轉成文字格式,且難以估計。 程式 |
資料型態 程式一的示範中,將fee 轉成數值型態,寬度為8個字元(byte),若將資料格式轉為comma8.1,暗示將資料的轉成從右邊數來每3位一個COMMA ','符號的資料格局,若將資料花樣轉為dollar8.1,暗示將資料轉成從右邊數來每3位一個COMMA '翻譯社'符號的資料格局,且最前方會泛起一個金錢符號'$',以上3種花式是透過INPUT()轉換過來的,會轉成數值花式,固然花式分歧,但都可較量爭論。 yymmdd8. |
在資料剖析時,常常遇到資料格式不是華頓翻譯公司們預期的,例如日期為文字型態,是以難以估計研究對象的年齡、或與時候有關的所有日期資料,或是資料合併時,發現兩個檔的資料型態不同,乃至資料無法合併翻譯以下將簡介SAS中的PUT()與INPUT()等函數的利用。 |
comma8.1 $8. 資料型態
dollar8.1 |
變項名 n_put2 20150323 |
花樣化 input(date,yymmdd8.) 3,240.5 |
|
|
||
|
|
|
|
put(n,$8.) |
put(date1, yymmdd8.)
$8.
format fee_input2 comma8.1
fee_input3 dollar8.1
date_input yymmdd8.;
proc print;
run;
程式一的示範中,將數值型態的date1 轉成日期格式,寬度為8個字元(byte),但透過put()函數的轉換,資料會轉成文字型式,日期並不是文字型式的資料,因此轉不外去,結果呈現一串星號'********',透露表現沒有對應的轉換內容。
內容
轉換後
INPUT( )函數的通式:INPUT(SOURCE翻譯社 INFORMAT),可將文字型態的資料轉成數值型態的資料翻譯
fee_input1
date_input=input(date, yymmdd8.);
date_put=put(date1翻譯社 yymmdd8.);
input(fee翻譯社dollar8.1)
本文出自: http://estat.pixnet.net/blog/post/272655529-sas%e4%b8%ad%e7%9a%84%e8%b3%87%e6%96%99%e5%9e%8b%e6%85%8有關各國語文翻譯公證的問題歡迎諮詢華頓翻譯公司02-77260932