檔案合併目的就是資料整合,透過列合併增加資料總筆數,例如不同年份的資料整合,或是透過欄合併增加欄位數。 有時候資料為了紀錄方便或是避免檔案的訊息量太大太雜,會將不同年份或是不同類型的資訊分開成不同的資料檔儲存。對於即將跨入大數據的讀者,必須要摒棄那種到手的檔案應該要包含所有資訊的概念,因為通常取得的檔案不可能囊括了所有需要的資訊,很大的情況是,訊息分布在不同的檔案。 如果是收案的資料確實可以簡單的依據所需要的資訊設計欄位,但是更多的情況是來自於已經存在的大型資料庫,舉例來說 : 健保資料庫就是個很好的例子,依據類型可以簡單分成門診、住院、藥局等資料庫,由於資料龐大,因此不同類型的資料又依據年分拆成小檔。所以這時候就會需要用合併來彙整處理好的資料。 合併的概念 以簡單的例子進行操作 假設手上有 2 種檔案 : 1. 參與滿意度調查受試者的基本資料 : 裡面包含年齡、性別等資訊 2. 2018-2019 年生活品質調查結果 ( 這份問卷可於受試者回診時重複施測,屬重複測量的資料 ): 裡面包含每次受訪日期以及問卷填答結果。 接下來,分別以 SAS 及 Python 進行操作示範,將檔案進行合併,關於軟體的基本概念可參閱 上一篇內容 。 以 SAS 進行列合併 ( 縱向堆疊 ) 將 2018 年跟 2019 年生活品質調查結果合併 proc sort data = y_all; set y_2018 y_2019; run ; 在進行 set 時要注意資料的結構, 欄位寬度不同時進行堆疊,會以寫在最前面的為主 。舉例來說,如果 y_2018 的資料 Q1 欄位長度為 1 ,而 y_2019 的資料 Q1 欄位長度設定為 2 ,這兩個檔在進行合併時會以寫在前的欄位長度為主。 欄位屬性不同時無法堆疊 ,例如 y_2018 的資料 Q1 欄位為數值格式, y_2019 的資料 Q1 欄位則為文字格式,要 set 兩個檔案,系統會出現錯誤訊息,因此務必注意欄位屬性是否一致。 以 Python 進行列合併 ( 縱向堆疊 ) 將 2018 年跟 2019 年生活品質調查結果合併,同樣會 用到 pandas 套件 。