第一堂 SAS 時間 合併 內連接 lag函數

處理日期和時間

  • SAS 日期和時間格式:SAS 有特定的日期和時間格式,例如 DATE9. 用於顯示日期,TIME8. 用於時間。
  • 字符轉日期/時間格式:使用 input 函數將字符字符串轉換為 SAS 日期或時間。例如,DateVar = input(CharDate, date9.); 將字符型日期轉換為 SAS 日期格式。
  • 日期時間計算:執行涉及日期和時間的計算,例如計算兩個日期之間的天數或創建基於日期的變量。
  • 日期格式:在 SAS 中,日期通常表示為從 1960 年 1 月 1 日開始的天數。例如,DATE9. 是一種常見的日期格式,它以 ddMMMyyyy (例如,01JAN1960)的形式顯示日期。
  • 時間格式:時間在 SAS 中以秒為單位表示,從午夜開始計算。TIME8. 是一種格式,用於以時:分:秒的形式顯示時間(例如,13:45:30
  • DaysDiff = Date2 – Date1; 日期差異
    基於日期的變量創建:可以基於現有的日期數據創建新的變量。例如,計算特定日期後的一個月日期:OneMonthLater = intnx(‘month’, DateVar, 1)

合併和連接數據集

data combined_data;

merge data1 data2;

by key_variable;

run;

使用 proc sql 進行數據連接,例如內連接(inner join),左連接(left join)等。例如:

高級函數和程序

  • 介紹一些高級 SAS 函數,如 lagintnxcoalesce 等。
  • 使用高級程序如 proc transpose 進行數據重塑。