在分析資料時,我們常常需要將數據轉換成另外的資料型態,例如成績可以分為及格與不及格,人的年齡可以分為青年、壯年、中年及老年,然後再使用這些經過轉換的資料進行下一步的分析,例如圖表分析或是統計檢定等。
原始 |
轉換後 |
製作圖表 |
![]() |
![]() |
![]() |
一般常用的方法有2個,一個是利用修改資料內容格式的方式(FORMAT);一個是使用查詢產生器(QUERY)的方式,利用條件句來轉換我們的資料。在下面的例子,我們使用年齡為範例來介紹FORMAT的轉換方式。
若是利用FORMAT的方式來修改我們的資料格式,需要兩個步驟流程:宣告 -> 執行。
1. 宣告格式
開啟SAS EG
從 工作列 -> 工作 -> 資料 -> 建立格式
![eg格式4 eg格式4](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69c8c0e1e.jpg)
在格式名稱中鍵入我們容易辨別的格式名稱(格式名稱只能英文A-Z或數字0-9及 _),右邊的格式類型中選擇字元或數值(這要用來對應我們資料的格式)。
![eg格式5 eg格式5](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69c900407.jpg)
選擇左側的定義格式->在標籤的地方鍵入「青年」->在下方類型的地方選擇範圍->給定我們所設定的範圍->在右側的選單選擇包含或不包含->點選新增以新增另一個範圍
![eg格式6 eg格式6](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69c93a48c.jpg)
依照上面的順序在標籤處鍵入「壯年」-> 在下方類型的地方選擇範圍 -> 給定我們所設定的範圍 -> 在右側的選單選擇包含或不包含 -> 點選新增以新增另一個範圍
![eg格式7 eg格式7](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69c97afb8.jpg)
依此類推建立中年的格式標籤
在最後建立老年的格式標籤時,注意上界可以選擇「高」這個選項,這時EG會以資料的最大值作為範圍上界
![eg格式8 eg格式8](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69c9bc675.jpg)
全部設定完成後點選執行,如此即完成格式的宣告。
2. 執行
接下來我們要執行已宣告好的格式
首先要注意的是建立的格式一定要放在最前面
![eg格式9 eg格式9](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69c9e855c.jpg)
![eg格式10 eg格式10](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69ca3c5cf.jpg)
直接點選下一步至 3/4 定義欄位特性
![eg格式11 eg格式11](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69ca8af88.jpg)
點選欲修改的變數之輸出格式欄
![eg格式12 eg格式12](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69cad1d57.jpg)
點選 使用者定義 -> AGEFMY. -> 確定
![eg格式13 eg格式13](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69cb0d249.jpg)
這時我們的資料就會從原始的63歲變成老年的資料顯示格式
![eg格式14 eg格式14](https://blogs.sas.com/content/sastaiwan/files/2020/02/51da69cb3c730.jpg)
以FORMAT方式修改資料格式的好處是會保留最原始的資料,也就是原始資料並不會因此而改變資料內容,只是在顯示時加上所設定的格式,之後可以任意再更換其他的格式顯示。
Tags