《資料科學 R語言實現》 3 4 使用日期格式

2021-09-23 14:56:31 字數 1690 閱讀 1976

把每乙個資料屬性轉換成合適的資料型別之後,我們可以看到employees和salaries中的一些屬性是日期型別的。因此,我們可以計算雇員的出生日期和當前日期之間的年份數,進而得出每個雇員的年齡。這裡我們會介紹如何使用內建日期函式和lubridate程式包來操作日期格式的資料。

按照之前的教程,把匯入資料的每個屬性轉換成正確的資料型別。並且,你需要按照3.2節「重新命名資料變數」中的步驟,命名employees和salaries資料集的列名。

執行下列步驟,使用employees和salaries中的日期格式資料。

1.我們可以使用下列**,加上或者減去日期格式屬性中的一些天數:

2.我們可以使用下列**,獲取hire_date和birth_date之間的時間間隔:

3.除了得到以天為單位的時間間隔,我們還可以使用函式difftime獲取以週為單位的時間間隔:

4.除了內建的日期操作函式,我們還可以安裝和載入lubridate程式包來操作日期:

5.然後,我們可以使用函式ymd把日期資料轉換成posix格式:

6.接著,我們可以使用函式as.period檢視hire_date和birth_date之間的時長:

7.我們也可以使用函式year獲取時間間隔:

8.並且,我們可以使用函式now獲取當前日期:

9.最後,我們可以使用下列**計算每乙個雇員的年齡:

完成上乙個教程之後,employees資料和salaries資料應該完成了重新命名,每乙個屬性也應該轉換成了合適的資料型別。由於一些屬性是日期型別的,我們可以使用日期函式來計算屬性之間的時間間隔。

日期型別的資料支援算術運算,我們可以加上或減去一些天數。因此,我們首先展示了可以給hire_date加上30天。然後我們可以檢查一下受僱日期是否真的加了30天。然後,我們可以計算birth_date屬性和hire_date屬性之間以天為單位的時間間隔,進而找出雇員開始在公司工作時的年齡。然而,減法操作只能告訴我們天數間隔,我們需要更多計算方法,支援除天數以外的時間間隔度量。所以,我們可以使用函式difftime確定不同單位下的時間間隔(例如,小時、天和周)。雖然difftime提供了更多的度量選擇,但我們還需要更多計算來得到以月和年為單位的時間間隔。

為了簡化日期計算,我們可以使用便捷的日期運算程式包lubridate。因為資料是年-月-日的格式,我們首先可以使用函式ymd把資料轉換成posix格式。然後,我們可以使用區間函式計算hire_date和birth_date之間的時間跨度。接著,我們可以使用函式as.period計算時間跨度的長度。這可以讓我們使用函式year獲取每乙個雇員生日和受僱日之間的年份數。

最後,為了計算雇員的年齡,我們可以使用函式now獲取當前時間。然後,使用interval獲取雇員生日和當前日期之間的時間區間。利用這些資訊,我們最終可以使用函式year獲取雇員的真實年齡。

在使用lubridate程式包(版本1.3.3)的時候,你可能會收到下列報錯資訊:

這個報錯資訊是由於本地配置問題而產生的。你可以通過設定locale為english_united states.1252來解決:

《資料科學 R語言實現》 1 9 使用替代函式

在r語言的一些情況下,我們可以為乙個函式呼叫傳值。這就是替代函式的作用。我們會展示替代函式如何工作,以及如何建立自己的替代函式。確保你已經在作業系統中安裝了r語言,完成了之前的步驟。執行下列步驟,建立r中的替代函式。1.首先,使用函式names給資料指派名字 函式names的作用事實上與下列命令類似...

《資料科學 R語言實現》 1 2 建立R函式

r語言是函式的集合 使用者可以在專案中使用各個程式包中的內建函式,或者為專門的目的定義新的函式。在本教程中,我們會展示如何建立乙個r函式。執行下列步驟來建立你的第乙個r函式。1.在r控制台中鍵入下列 建立第乙個函式 2.使用下列命令,執行使用者定義的函式addnum 或者,你也可以不使用return...

《資料科學 R語言實現》 3 7 捨棄資料

在之前的教程中,我們介紹了如何修改和過濾資料集。這些步驟基本上涵蓋了資料預處理和資料準備的主要過程。但是,我們還想找出資料集中的壞資料。那些壞資料或者不想要的資料應該丟棄,避免生成誤導的結果。這裡,我們會介紹一些移除無用資料的實用方法。按照3.3節 轉換資料型別 教程,把匯入資料的每個屬性轉換成合適...