天天看點

《資料科學:R語言實作》——3.9 排列資料

本節書摘來自華章出版社《資料科學:r語言實作》一 書中的第3章,第3.9節,作者:r for data science cookbook 丘祐玮(david chiu),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

排列可以讓我們在某種順序下觀察資料,以便更有效地分析資料。在資料庫中,我們可以使用order by語句對指定的列進行資料排序。在r中,我們使用函數order和sort來對資料排序。

準備工作

按照3.3節“轉換資料類型”教程,把導入資料的每個屬性轉換成合适的資料類型。同時按照3.2節“重命名資料變量”中的步驟,命名employees和salaries資料集的列名。

實作步驟

《資料科學:R語言實作》——3.9 排列資料
《資料科學:R語言實作》——3.9 排列資料

運作原理

r提供了兩種排列資料的方法:一個是sort,另一個是order。函數sort傳回排序好的向量作為輸出。在第1步中,我們設定了一個含有7個整數的整數向量,然後使用函數sort對向量排序,生成一個排序好的輸出。經過排序的向量預設是按升序排列的。但是,我們可以把decreasing指定為true改變序列順序。另外,函數order傳回一個排序索引向量作為輸出。我們依然可以指定傳回的索引是按升序還是按降序排列。

為了在向量中按照升序或者降序排列元素,我們可以使用函數sort。但是,要對某一列的資料排序,我們應該使用函數order。在我們例子中,我們首先拿到了salary屬性中各元素的降序索引,然後擷取了按照一個排序索引的salaries資料記錄。最後,我們找出了按照薪水排列的salaries記錄。除了按照一個屬性排列資料記錄,我們還可以按照多個屬性排序記錄。我們隻需要在函數order中依次放置salary和from_date屬性。

更多技能

我們還可以使用plyr中的函數arrange,按照升序的salary和降序的from_date排列薪水資料:

《資料科學:R語言實作》——3.9 排列資料

繼續閱讀