這篇文章給大家介紹R語言中相關的經驗有哪些,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
專注于為中小企業(yè)提供成都網(wǎng)站設計、成都網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)漣源免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
R中function相關的一些分享
正文:
function的本質是文本替換
function可以在R中無處不在,如之前文章提到的read_excel()和write.csv,又如base中自帶的mean()和median()等,這些統(tǒng)統(tǒng)都是function。所以function可以理解為是為了解決某一問題或者某一系列問題而打包好的一系列語句。感覺就如中學數(shù)學中的幾元幾次方程,輸入x值就會得到特定的y值。
function的來源主要分兩個。
一個是別人寫,即存在與base中或者是其他package中別人已經寫好的函數(shù)。
另一個是自己寫的,也叫自定義function,可以根據(jù)自己的實際要解決的問題,針對性的寫一個滿足個人特定需求的一段代碼并打包在function語句中,生成自己的function。如何自己寫一個function,以及寫出來function能解決問題的水平,和function本身的語法句法內容,一定程度上可以反應或者檢驗當下編寫者的代碼水平。
function的語法組成,固定語句+參數(shù)們+解決問題的代碼們。就分這三大部分,需要研究是第二和第三部分。
如何寫一個自定義function。大概分以下幾個步驟:
第一,明確寫function的目的。有沒有替代方法,是否真正需要自定函數(shù)來解決問題??紤]性價比,是否真正的有必要去自己花時間開發(fā)一段代碼,有沒有各位神仙前輩已經就類似的問題開發(fā)了不錯的包可以直接調用。等等。再確認確實需要寫之后,那就開始開發(fā)代碼吧,其實過程是很快樂的。
第二,寫function的思路。分而治之,各個擊破,再一統(tǒng)山河。問題通常都沒有那么復雜,之所以變得很復雜一般是因為思路比較混亂??梢詫栴}拆分,分別去解決實現(xiàn),最終整合結果就ok了。如果反而把問題變得更復雜,就屬于本末倒置,得不償失了。
第三,寫function的步驟。大體如下,
1: 就寫一段可以解決目標問題的代碼,即“硬”代碼。
2:對代碼進行精簡,提煉。
3:對“硬”代碼中的關鍵data或者variable用參數(shù)代替,實現(xiàn)文本替換。
4:對生成的自定義function小范圍測試。
5:根據(jù)實際環(huán)境,模擬可能遇到的真實情景,大規(guī)模測試function的彈性和效果,并微調。
第四:需要注意的事項。
1:盡可能的少用循環(huán),循環(huán)會拉低運行效率,尤其是數(shù)據(jù)量很大的時候,會慢的感人。
2:盡可能精簡語句,減少冗余代碼,不要拐彎抹角,這樣對自己或者對于閱讀代碼的人都好。
3:可以嘗試在代碼中調用其他package中的函數(shù),提高效率,事半功倍,站在巨人肩膀上看得更遠。
4:如果考慮未來的可擴展性,盡量在編寫的過程中就留足余地,中間步驟避免使用一些硬文本,盡量使用可以自動運行得到結果的代碼。
5:參數(shù)要精而優(yōu),設置前需三思。
就像SAS大佬們瘋狂開發(fā)自己macro一樣,R大佬們也在瘋狂開發(fā)自己function。大佬們的世界總是那么瘋狂。
關于R語言中相關的經驗有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
新聞標題:R語言中相關的經驗有哪些
網(wǎng)頁鏈接:http://jinyejixie.com/article24/pgioce.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站營銷、App設計、商城網(wǎng)站、網(wǎng)站策劃、建站公司
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)