(長治學院,山西長治市,046011) 張蓬霞
在早期,R語言多被應用于統(tǒng)計學領域,后續(xù)隨著該項語言的應用發(fā)展,憑借著自身種種優(yōu)勢特性,R 語言的應用領域也得到了有效擴展。尤其是互聯(lián)網(wǎng)時代的來臨,伴隨著海量信息數(shù)據(jù)的產(chǎn)生,針對這些數(shù)據(jù)的挖掘處理,更需要應用R 語言提供相應的幫助。如果在數(shù)學建模之中充分利用R語言,同樣有利于建模效率與效用價值的發(fā)揮與展現(xiàn)。
對R 語言進行追根溯源,我們能夠了解到,這門語言最早是受S 語言與Scheme 語言影響發(fā)展而言,其中S 語言創(chuàng)建于1976 年,創(chuàng)建者是John Chamber;Scheme 語言創(chuàng)建時間是20 世紀70 年代,創(chuàng)建者是Guy L.Steele 與Gerald Jay Sussman。在早期,R 語言的主要使用者是統(tǒng)計學家與數(shù)據(jù)分析人員,他們經(jīng)常使用R 語言,開展統(tǒng)計分析以及圖形可視化工作,R 語言的創(chuàng)造者是Ross Ihaka 與Robert Gentleman,由于兩人的姓名都是以R 開頭,因此兩人創(chuàng)造的語言也被形象地稱之為R語言。R語言最早是基于S語言的一個GNU項目,因此可以將R 語言視為S 語言的一種實現(xiàn)。一般情況下,采用S 語言編寫的代碼,都能夠直接在R 語言環(huán)境下運行。
R語言作為一種函數(shù)語言,語法非常簡單,使用方式自由靈活,入門門檻不高,完全面向?qū)ο?,實際命名也不存在復雜的規(guī)則,深受S 語言的影響。R語言使用免費,相關(guān)語言代碼開源,因此在很多高等院校以及組織機構(gòu)之中有著廣泛的應用。R語言語法雖然相對簡單,但想要深入掌握這門語言,僅僅掌握語法還遠遠不夠。究其原因在于,R 語言有著非常廣泛的涉獵范圍,從移動互聯(lián)網(wǎng),到統(tǒng)計數(shù)據(jù)分析,從金融風險預測,到大數(shù)據(jù)挖掘,從生物信息研究,到地球物理探索,上述諸多領域均有著R語言的使用身影。尤其是近些年來,R 語言的應用領域再次得到了擴展,在工業(yè)領域中的應用價值逐漸得到凸顯。
為了能夠更加熟練地應用R語言,必須要熟悉這門語言的基礎語言知識結(jié)構(gòu)。相較于其他編程語言來說,R語言誕生之初,主要是為了解決統(tǒng)計學相關(guān)問題,而統(tǒng)計學本身涵蓋的數(shù)學知識領域較為繁雜,除了高等數(shù)學以及數(shù)理統(tǒng)計以外,還包括概率論、離散數(shù)學等,因此R 語言的知識結(jié)構(gòu)同樣包含了這些復雜的數(shù)學知識理論,不僅如此,還需要將這些數(shù)學理論與復雜的業(yè)務知識相融合,才能組建一個完整的基礎語言知識結(jié)構(gòu),這些業(yè)務知識內(nèi)容包括統(tǒng)計算法、數(shù)據(jù)庫等,如此才能更好地發(fā)揮出R語言的使用價值。
R 語言在設計之初,便遵循了一個重要設計理念,即精心做事。一般情況下,R語言的研究對象均比較復雜,比如需要結(jié)合實際需求,建立一個復雜的統(tǒng)計模型,在這一過程中,需要相關(guān)技術(shù)人員靜下心來,認知思考如何進行模型的構(gòu)建,合理選擇相應的模型參數(shù),而不需要考慮如何設計程序,因此采用代碼也不會太過復雜,在實際應用時,只需要結(jié)合實際需要,調(diào)用相關(guān)的函數(shù),完成參數(shù)傳遞,不需要考慮空間與時間復雜度等相關(guān)問題。
除了上述特性以外,R 語言還存在一些其他的特性,比如R 語言能夠與其他編程語言共用,尤其是S 語言與Scheme 語言,三者有著非常緊密地聯(lián)系。除此之外,R語言還能夠通過相應接口,很好地與數(shù)據(jù)庫對接,本身R 語言的保存機制也比較完善,網(wǎng)上資源豐富等,正是這些特性的存在,使得R語言在當前時代得到了廣泛的應用。
為了更全面深入地了解R語言的特性,文章本次選擇了其他三種編程軟件與之進行對比,這三款編程軟件分別是“MATLAB”軟件、“SPSS”軟件以及“SAS”軟件。上述三種軟件與R語言在商業(yè)方面有著較強的競爭力,并且相應的軟件在不同領域之中均有著各自的優(yōu)勢特性。
“MATLAB”軟件在圖像處理能力方面表現(xiàn)較為出色,相關(guān)數(shù)據(jù)信息能夠可視化呈現(xiàn),與此同時,還能夠標注相應的圖形,并完成圖形打印。針對圖形處理,還能夠?qū)崿F(xiàn)頂層設計,并完成相應的圖形計算與工程繪圖?!癝PSS”軟件在圖像處理方面,有著比較友好的界面,能夠獲得高質(zhì)量的圖形信息,可以在圖像處理中使用編程語言,但圖形工具有待進一步完善,深入掌握應用的難度較大?!癝AS”軟件在圖像處理方面,有著非常完善且強大的繪圖工具,同時搭載有專業(yè)復雜的模塊,能夠為圖形繪制處理提供良好助力。同時該款軟件也能夠使用編程語言進行圖像的繪制?!癛”軟件能夠提供完善的繪圖技術(shù),同樣具有圖形數(shù)據(jù)可視化功能,不僅如此,利用R 軟件,還能夠繪制一些動態(tài)的圖形,還能夠結(jié)合實際需求,自由靈活地進行復雜圖形的組合繪制。
“MATLAB”軟件在數(shù)據(jù)處理方面,有著諸多算法可供選擇,因此用戶可以靈活結(jié)合自身需要,選擇相應的算法完成數(shù)據(jù)的處理?!癝PSS”軟件在數(shù)據(jù)處理方面,搭載有專門的數(shù)據(jù)編輯器,從而為用戶自主確定數(shù)據(jù)屬性提供了良好的便利。但在實際進行數(shù)據(jù)處理時,無法批量操作,只能夠操作處理同一個文件夾中的數(shù)據(jù)?!癝AS”軟件在數(shù)據(jù)處理方面,能夠采用很多處理方式,并且一次性可同時處理多個數(shù)據(jù)文件,還能夠進行多變量數(shù)據(jù)處理,但實際操作較為復雜困難,需要長時間學習?!癛”軟件在數(shù)據(jù)處理方面,操作非常便捷。與此同時,還能夠從橫向與縱向出發(fā),自由進行數(shù)據(jù)變換。還可以采用正則表達式,進行數(shù)據(jù)字符批量化操作。因此針對一些信息豐富的數(shù)據(jù)表,處理效率非常高。
“MATLAB”軟件在統(tǒng)計分析方面,有著豐富的統(tǒng)計分析算法可供用戶自由選擇?!癝PSS”軟件作為一種為“統(tǒng)計而生”的軟件,本身包含著大量的統(tǒng)計分析算法,能夠進行大規(guī)模的統(tǒng)計分析。不僅如此,相較于其他軟件來說,該軟件在方差分析、聚類分析以及多變量分析方面,也有著較為顯著的優(yōu)勢?!癝AS”軟件在統(tǒng)計分析方面,在方差分析方面操作比較便捷,同時還能夠結(jié)合實際,建立相應的混合數(shù)據(jù)模型,實現(xiàn)對多變量數(shù)據(jù)信息的處理。但在穩(wěn)健方法等方面,相較于其他軟件而言,該項軟件處于明顯的劣勢?!癛”軟件在統(tǒng)計分析方面,功能十分豐富,非常擅于進行聚類、統(tǒng)計檢驗以及時間序列方面的分析。同時在擴展包資源方面,R 軟件在進行統(tǒng)計分析時能夠表現(xiàn)出獨特的優(yōu)勢。
“MATLAB”軟件在語言分析方面,程序語言應用比較簡單,語言特點與C++語言比較相似,同時“MATLAB”軟件程序語言有著非常好的可移植性與可擴展性,因此適用領域也比較廣泛?!癝PSS”軟件在程序語言方面,由于是一種專用的統(tǒng)計軟件,因此不需要進行語言編程,只需要掌握相應的統(tǒng)計方法即可?!癝AS”軟件在程序語言方面,有著非常完善的語言功能,且與其他編程語言有著良好的相似度。使用者在實際操作時,一般只要掌握了相應的語法規(guī)則,并對相關(guān)指令了如指掌,就能夠在數(shù)據(jù)分析管理方面得心應手?!癛”軟件在程序語言方面,有著非常高的靈活度,并且開發(fā)者還能夠?qū)φZ言進行非標準計算,從而進一步強化了語言的可操作性,賦予了語言良好的可擴展性。不僅如此,R語言比較簡單,非常容易學習入門,同時該語言軟件保留了程序設計語言的基礎邏輯,因此語言風格表現(xiàn)更加自然。
“MATLAB”軟件在操作方面,有著非常強的人機交互性,且界面也非常的友好,因此用戶非常容易調(diào)用相關(guān)的函數(shù),完成計算操作。同時后續(xù)的調(diào)試也比較方便,有著非常好的可操作性?!癝PSS”軟件在程序語言方面,同樣非常便捷,交互界面可以直接點擊,選擇相關(guān)的操作功能。同時還能下拉菜單,自由選擇需要操作執(zhí)行的指令。但操作功能相對有限,只能進行一般的數(shù)據(jù)操作處理分析?!癝AS”軟件在操作方面,界面也比較友好,本身有著專屬的SAS語言以及多窗口操作功能,實際操作性也比較靈活,且本身的數(shù)據(jù)接口功能也十分強大,可操作性較強?!癛”軟件在操作方面,整體比較簡單,且該軟件有著非常多的擴展包,能夠涵蓋多個方面,因此在數(shù)據(jù)操作處理領域范圍較廣,有著非常顯著的優(yōu)勢。
在當前,伴隨著R 語言的不斷深入應用發(fā)展,其已經(jīng)不再局限于數(shù)據(jù)統(tǒng)計領域的應用,而是朝著多領域多方向不斷地深入發(fā)展。比如互聯(lián)網(wǎng)領域、教育領域、電商領域、金融領域、教育領域等。同時通過分析了解R語言的各種特性,我們也能夠認識到R語言在數(shù)學建模領域也有著非常良好的效用,能夠更好地助力數(shù)學建模發(fā)揮出更大作用價值。例如針對在大學生畢業(yè)后,就業(yè)問題是首當其沖必須要解決的問題,這不僅關(guān)系到大學生未來職業(yè)發(fā)展,同時對社會整體和諧穩(wěn)定也有著非常積極的影響作用。從社會統(tǒng)計調(diào)查來看,大學生在實際進行求職時,主要考慮薪資待遇的高低、工作所在地和專業(yè)是否對口。這些內(nèi)容對大學生就業(yè)均有著非常重要的影響?;诖?,可以結(jié)合智聯(lián)招聘發(fā)布的《2020年秋季大學生就業(yè)報告》相關(guān)數(shù)據(jù)顯示,??茖W位大學生的平均薪資為4 562 元,本科學位大學生的平均薪資為5 102 元,碩士學位大學生平均薪資為7 235 元。隨后,可以結(jié)合影響大學畢業(yè)生平均月薪的相關(guān)因素,做好不同學位大學生平均薪資數(shù)據(jù)信息的收集,通并以此為依據(jù),建立合理的數(shù)學模型,預測2020年大學生平均薪資,最后,還可以采用MATLAB、SPSS、SAS以及R軟件對這些統(tǒng)計數(shù)據(jù)信息分別進行擬合,從最終的結(jié)果來看,均與《2020 年秋季大學生就業(yè)報告》給定的數(shù)據(jù)比較相似,由此能夠證明,采用MATLAB、SPSS、SAS與R軟件,對這一問題擬合均能夠起到良好的效果,但通過對比上述四種軟件的擬合優(yōu)度,采用R語言所做的擬合優(yōu)度與1最為接近,由此能夠證明,R語言擬合效果相較其他三種語言效果更好,同時也說明了R語言在數(shù)學建模方面有著非常顯著的作用優(yōu)勢。
總而言之,R語言作為一種函數(shù)語言,本身有著很多優(yōu)勢特性,比如語法非常簡單,使用方式自由靈活,能夠與其他編程語言共用,能夠通過相應接口很好地與數(shù)數(shù)據(jù)庫對接,本身R語言的保存機制也比較完善,網(wǎng)上資源豐富,相關(guān)語言代碼開源免費等,因此在很多高等院校以及組織機構(gòu)中應用較為廣泛,基于這些優(yōu)勢特性,還可以將R 語言應用于數(shù)學建模,同樣有著非常好的效用,這對推動R語言實現(xiàn)廣泛應用發(fā)展有著重要作用。