SAS,R和Python應對數據管理和分析挑戰

原文連接:http://tecdat.cn/?p=7886

去年,我與一家公司進行了短暫的諮詢工做,該公司正在構建一個主要由基於Web的數據存儲庫驅動的分析應用程序。數據存儲爲SAS數據集的集合,「客戶」能夠經過上載SAS數據步驟和proc SQL腳原本將其做爲子集。生成的數據隨後可供下載。個人職責是指導團隊使用SAS應對數據管理和分析挑戰。程序員

 在安裝和配置WPS以後,個人任務是開發解決方案,以解決咱們早期面臨的性能挑戰。 函數

 針對此挑戰的替代設計涉及WPS的proc R,其中能夠利用將SAS數據集導出/導入到R數據幀以及從SAS / WPS腳本執行R代碼的功能。進入R世界以後,識別稀疏列並建立一個刪除這些列的新數據框的任務很簡單。 性能

 首先包含/運行SAS autoexec文件。測試

接下來定義一個簡單的SAS宏「函數」,該函數將數據集名稱做爲參數並打印行和列的#。在測試SAS數據集上調用它。spa

將測試SAS數據集導出到R數據幀,肯定哪些列爲60%或更高notnull,將這些列組裝到新數據幀中,而後將該數據幀導入SAS。注意註釋的語句除了空值外還標識空白。264列中只有33列達到60%閾值。該單元的執行很是迅速。開放源代碼

接下來,將SAS數據集導出到Python pandas,而後部署Python函數以肯定每列中的%notnull並建立一個新的pandas數據框,其中只有%notnull超過.6的列。通過Python處理後,將pandas數據框導入SAS。與R同樣 。這個單元比上一個單元耗費了一個數量級的時間。設計

儘管SAS仍然是一個主要的分析平臺,而且不會很快消失,但它已爲R和Python的分析工做所取代。對於SAS / WPS程序員而言,Python和R proc是Base SAS的很是有用的附件。確實,商業和開放源代碼的競爭數據科學生態系統之間的互操做性將繼續提升-這對數據科學世界來講無非是一件好事。目前,WPS的proc R比proc Python快不少,所以是協做SAS工做的選擇。但願proc Python將很快成爲高性能,使SAS數據程序員可以平等地訪問前兩個DS平臺。3d

相關文章
相關標籤/搜索