Session Ready
Exercise

較難的衍生變數

前進新世界,邁向成為海賊王道路上的挑戰是愈來愈艱辛,在接下來的練習我們要處理有一點棘手的問題。在原始的角色設定中,我們只有船員們的年齡與生日的月份和日期,即便海賊王世界所使用的紀年與我們所熟稔的西元紀年迥異,身為超級粉絲與資料狂熱份子,你依然想要新增一個變數欄位來紀錄包含西元年份的草帽海賊團船員生日。

我們要先介紹 Sys.Date() 這個函數,它會回傳現在的系統日期,你可以在 R Console 輸入:

Sys.Date()

R Console 會將現在的系統日期以 "%Y-%m-%d" 的格式回傳。%Y 代表四位數字的西元紀年,%m 代表兩位數字的月份,%d 代表兩位數字的日期。而運用 format() 函數可以得到我們需要的西元年。

format(Sys.Date(), '%Y')

產生出來的西元年格式是字元,如果想要做運算還需要利用 as.numeric() 轉為數值。

as.numeric(format(Sys.Date(), '%Y'))
Instructions
100 XP
  • 將 Sys.Date() 的產出指派給一個變數 sys_date。
  • 利用 format() 函數將 sys_date 的西元年指派給 sys_date_year。
  • 利用 as.numeric() 函數將 sys_date_year 轉換為數值並指派給 sys_date_year_num。