小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

R是最值得學(xué)習(xí)的編程語(yǔ)言 | 粉絲日志

 lzqkean 2014-03-03

R的極客理想系列文章,涵蓋了R的思想,使用,工具,創(chuàng)新等的一系列要點(diǎn),以我個(gè)人的學(xué)習(xí)和體驗(yàn)去詮釋R的強(qiáng)大。

R語(yǔ)言作為統(tǒng)計(jì)學(xué)一門語(yǔ)言,一直在小眾領(lǐng)域閃耀著光芒。直到大數(shù)據(jù)的爆發(fā),R語(yǔ)言變成了一門炙手可熱的數(shù)據(jù)分析的利器。隨著越來(lái)越多的工程背景的人的加入,R語(yǔ)言的社區(qū)在迅速擴(kuò)大成長(zhǎng)?,F(xiàn)在已不僅僅是統(tǒng)計(jì)領(lǐng)域,教育,銀行,電商,互聯(lián)網(wǎng)….都在使用R語(yǔ)言。

要成為有理想的極客,我們不能停留在語(yǔ)法上,要掌握牢固的數(shù)學(xué),概率,統(tǒng)計(jì)知識(shí),同時(shí)還要有創(chuàng)新精神,把R語(yǔ)言發(fā)揮到各個(gè)領(lǐng)域。讓我們一起動(dòng)起來(lái)吧,開始R的極客理想。

關(guān)于作者:

  • 張丹(Conan), 程序員Java,R,PHP,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.
  • email: bsspirit@gmail.com

轉(zhuǎn)載請(qǐng)注明出處:
http://blog./r-ideal/

r-ideal

前言

本篇文章是受51CTO編輯的約稿文章,主要談?wù)勔韵?種語(yǔ)言 NODE,LUA,Python,Ruby,R ,哪個(gè)在2014年的應(yīng)用前景會(huì)更好?51CTO文章地址:http://developer.51cto.com/art/201402/430476_all.htm

我毫不猶豫的選擇R。R不僅是2014年,也是以后更長(zhǎng)一段時(shí)間的主角。

目錄

  1. 我的編程背景
  2. 為什么我會(huì)選擇R?
  3. R的應(yīng)用前景
  4. 時(shí)代賦予R的任務(wù)
  5. 作者介紹

1. 我的編程背景

本人程序員、架構(gòu)師,從編程入門到今天,一直深信著Java是改變世界的語(yǔ)言,Java已經(jīng)做到了,而且一直很輝煌。但當(dāng)Java的世界越來(lái)越大,變得無(wú)所不能的時(shí)候,反而不夠?qū)I(yè),給了其他語(yǔ)言發(fā)展的機(jī)會(huì)。

本次要比較要5種編程語(yǔ)言(NODE,LUA,Python,Ruby,R),這些都是非常優(yōu)秀的,在特定領(lǐng)域發(fā)展壯大的語(yǔ)言。

我已使用Java語(yǔ)言 11年,R語(yǔ)言 3年,Node 1年,對(duì)于本次問(wèn)題 “哪個(gè)語(yǔ)言在2014年的應(yīng)用前景會(huì)更好?”,我選擇R語(yǔ)言。

2. 為什么我會(huì)選擇R?

我會(huì)從下面的幾個(gè)方面,來(lái)說(shuō)明我選擇R的原因。

  • R的基因
  • R的發(fā)展
  • R的社區(qū)和資源
  • R的哲學(xué)
  • R的使用者
  • R的語(yǔ)法
  • R的思維模式
  • R解決的問(wèn)題
  • R的不足

1). R的基因

R是統(tǒng)計(jì)學(xué)家發(fā)明的語(yǔ)言,天生具有統(tǒng)計(jì)的基因。

從我開始學(xué)習(xí)R語(yǔ)言,我就開始了知識(shí)的跨界思考。統(tǒng)計(jì)基于概率論,概率論又基于數(shù)學(xué),用計(jì)算機(jī)的方式編程,解決某個(gè)領(lǐng)域的實(shí)際問(wèn)題。簡(jiǎn)單一算,4個(gè)學(xué)科知識(shí)的交集,決定著我們解決問(wèn)題的能力。統(tǒng)計(jì)的基因,讓R語(yǔ)言與眾不同!

2). R的發(fā)展

R一直在小眾領(lǐng)域成長(zhǎng)著,最早也只有統(tǒng)計(jì)學(xué)家在用,主要用R來(lái)代替SAS做統(tǒng)計(jì)計(jì)算。時(shí)代在進(jìn)步,隨著大數(shù)據(jù)的爆發(fā),R終于在這一波浪潮中,被工業(yè)界所發(fā)現(xiàn)。然后,有越來(lái)越多的工程背景的人加入到這個(gè)圈子,對(duì)R計(jì)算引擎,R的性能,R的各種程序包進(jìn)行改進(jìn)和升級(jí),讓R獲得了新生。

我們現(xiàn)在用到的R語(yǔ)言軟件,已經(jīng)越來(lái)越接近工業(yè)軟件的標(biāo)準(zhǔn)了。由工程師推動(dòng)的R的發(fā)展速度,遠(yuǎn)遠(yuǎn)地超過(guò)了由統(tǒng)計(jì)學(xué)家推動(dòng)的步伐。隨著人們對(duì)數(shù)據(jù)分析要求的進(jìn)一步增加,R會(huì)以更快的腳步繼續(xù)發(fā)展,將成為免費(fèi)的、開源的、數(shù)據(jù)分析軟件的代名詞。

3). R的社區(qū)和資源

R的發(fā)展,離不開R的社區(qū)支持。當(dāng)然,我不得不承認(rèn)R的官方社區(qū),從Web頁(yè)上看起來(lái)太簡(jiǎn)陋了,稍微調(diào)整一下CSS樣式表,都會(huì)比現(xiàn)在好看很多。也許這種簡(jiǎn)單、無(wú)修飾也是統(tǒng)計(jì)學(xué)家的基因吧。

在R的社區(qū)中,我們可以下載到R語(yǔ)言軟件,R的第三方軟件包,和R的其他支持軟件。可以找到開發(fā)者論壇,R-Journal列表,軟件包列表,R語(yǔ)言圖書列表,R用戶組等的信息,同其他語(yǔ)言的社區(qū)資源一樣豐富。

R是自由軟件,開發(fā)者可以開發(fā)自己的軟件包,封裝自己的功能,然后在CRAN上面發(fā)布。截止到2014年2月,共有5236個(gè)R包在CRAN上面發(fā)布。

可能很多人會(huì)說(shuō)只有5236個(gè)包,數(shù)量太少了。這是因?yàn)镃RAN是需要提交申請(qǐng)的,R語(yǔ)言小組審核,檢查后再會(huì)發(fā)布的出來(lái)。而且審核非常嚴(yán)格的,高質(zhì)量是發(fā)布一個(gè)新的R包基本要求。由于CRAN過(guò)于嚴(yán)格的審查,讓很多的開發(fā)者選擇在RForge上發(fā)布,還有些R包是基于Github發(fā)布的,我也在github上面發(fā)布了自己的R包:https://github.com/bsspirit/chinaWeather。

  • R官方地址:http://www./
  • R開發(fā)者論壇:http://r.789695.n4./
  • CRAN:http://cran./
  • RForge:https://r-forge./

4). R的哲學(xué)

每種語(yǔ)言都有自己的設(shè)計(jì)理念和哲學(xué),而我體會(huì)的R的哲學(xué),就是“靜下心做事情”。

R不需要很長(zhǎng)的代碼,R也不需要設(shè)計(jì)模式。一個(gè)函數(shù)調(diào)用,傳幾個(gè)參數(shù),就能實(shí)現(xiàn)一個(gè)復(fù)雜的統(tǒng)計(jì)模型。我們需要思考,用什么模型,傳什么參數(shù),而不是怎么進(jìn)行程序設(shè)計(jì)。

我們可能會(huì)用R實(shí)現(xiàn) “從一個(gè)數(shù)學(xué)公式,變成一個(gè)統(tǒng)計(jì)模型” 的過(guò)程,我們也可能會(huì)考慮 “如何讓一個(gè)分類器結(jié)果更準(zhǔn)確”,但我們不會(huì)思考 “時(shí)間復(fù)雜度是多少,空間復(fù)雜度是多少”。

R的哲學(xué),可以讓你把數(shù)學(xué)和統(tǒng)計(jì)學(xué)的知識(shí),變成計(jì)算模型,這也是R的基因所決定的。

5). R的使用者

R語(yǔ)言早期主要是學(xué)術(shù)界統(tǒng)計(jì)學(xué)家在用,在各種不同的領(lǐng)域,包括統(tǒng)計(jì)分析,應(yīng)用數(shù)學(xué),計(jì)量經(jīng)濟(jì),金融分析,財(cái)經(jīng)分析,人文科學(xué),數(shù)據(jù)挖掘,人工智能,生物信息學(xué),生物制藥,全球地理科學(xué),數(shù)據(jù)可視化等等。

近些年來(lái),由互聯(lián)網(wǎng)引發(fā)的大數(shù)據(jù)革命,才讓工業(yè)界的人,開始認(rèn)識(shí)R,加入R。當(dāng)越來(lái)越多的有工程背景的人,加入到R語(yǔ)言使用者的隊(duì)伍后,R才開始像著全領(lǐng)域發(fā)展,逐步實(shí)現(xiàn)工業(yè)化的要求。

  • RevolutionAnalytics公司的RHadoop產(chǎn)品,讓R可以直接調(diào)用Hadoop集群資源
  • RStudio公司的RStudio產(chǎn)品,給了我們對(duì)于編輯軟件新的認(rèn)識(shí)
  • RMySQL, ROracle, RJDBC 打通了R和數(shù)據(jù)庫(kù)訪問(wèn)通道
  • rmongodb, rredis, RHive, rhbase, RCassandra 打通過(guò)R和NoSQL的訪問(wèn)通道
  • Rmpi, snow 打通了單機(jī)多核并行計(jì)算的通道
  • Rserve,rwebsocket 打通了R語(yǔ)言的跨平臺(tái)通信的通道

R不僅是學(xué)術(shù)界的語(yǔ)言,更將成為工業(yè)界必備的語(yǔ)言。

6). R的語(yǔ)法

R是面向?qū)ο笳Z(yǔ)言,語(yǔ)法如同Python。但R的語(yǔ)法很自由,很多函數(shù)的名字,看起來(lái)都是那么隨意,這也是R的哲學(xué)的一部分吧!

看到這樣的賦值語(yǔ)法,有其他語(yǔ)言基礎(chǔ)的程序員,肯定會(huì)崩潰的。


> a<-c(1,2,3,4)->b
> a
[1] 1 2 3 4
> b
[1] 1 2 3 4

隨機(jī)取正態(tài)分布N(0,1)的10個(gè)數(shù),又是這么的簡(jiǎn)單。


> rnorm(10)
 [1] -0.694541401  1.877780959 -0.178608091  0.004362026
 [5]  0.836891967  1.794961298  0.115284187  0.155175219
 [9]  0.464028612 -0.842569561

用R畫鳶尾花的數(shù)據(jù)集的散點(diǎn)圖,非常好的可視化效果


> data(iris) #加載數(shù)據(jù)集
> head(iris) #查看前6行數(shù)據(jù)集
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

> plot(iris) #畫圖

iris

正是因?yàn)镽自由哲學(xué),讓R的語(yǔ)法獨(dú)特而簡(jiǎn)潔,我已經(jīng)喜歡上這種哲學(xué)了。

7). R的思維模式

R語(yǔ)言讓我跳出了原有思維定式。使用R語(yǔ)言,我們應(yīng)該從統(tǒng)計(jì)學(xué)的角度想問(wèn)題,而不是計(jì)算機(jī)的思維模式。

R語(yǔ)言是直接面向數(shù)據(jù)的語(yǔ)言。在我們的日常生活中,無(wú)論做什么事情都會(huì)產(chǎn)生數(shù)據(jù),上網(wǎng)有瀏覽數(shù)據(jù),買東西有消費(fèi)數(shù)據(jù),就算什么都不干,也會(huì)受大氣PM2.5的影響。利用R語(yǔ)言,我可以直接分析這些數(shù)據(jù)。

面向什么業(yè)務(wù),就分析什么數(shù)據(jù),不需要從產(chǎn)品經(jīng)理向程序員的角色轉(zhuǎn)換,不需要考慮有什么功能,更不需要考慮程序設(shè)計(jì)的事。

跳出程序員的思維模式,你所能認(rèn)知的東西會(huì)更多,找到更適合自己的定位。

8). R解決的問(wèn)題

當(dāng)數(shù)據(jù)成為生產(chǎn)資料的時(shí)候,R就是為人們能運(yùn)用生產(chǎn)資料創(chuàng)造價(jià)值的生產(chǎn)工具,R語(yǔ)言主要解決的是數(shù)據(jù)的問(wèn)題。

在很長(zhǎng)期的歷史時(shí)期,人類產(chǎn)生的數(shù)據(jù)都沒(méi)有自互聯(lián)網(wǎng)誕生以來(lái)產(chǎn)生的數(shù)據(jù)多;當(dāng)Hadoop幫助人們解決了大數(shù)據(jù)存儲(chǔ)的問(wèn)題后,如何發(fā)現(xiàn)數(shù)據(jù)的價(jià)值,成為當(dāng)前最火的話題。R語(yǔ)言的統(tǒng)計(jì)分析能力,就是數(shù)據(jù)分析最好的工具。

所以,R要解決的問(wèn)題,就是大數(shù)據(jù)時(shí)代的問(wèn)題,是時(shí)代賦予的任務(wù)。

9). R的不足

前面說(shuō)了太多R的優(yōu)點(diǎn)了,R也有很多不足之處。

  • R語(yǔ)言是統(tǒng)計(jì)學(xué)家編寫的軟件,并不如軟件工程師編寫的軟件那么健壯。
  • R語(yǔ)言軟件的性能,存在一些問(wèn)題。
  • R語(yǔ)言很自由,語(yǔ)法命名不太規(guī)范,需要花時(shí)間熟悉。
  • R語(yǔ)言結(jié)合了很多數(shù)學(xué)、概率、統(tǒng)計(jì)的基礎(chǔ)知識(shí),學(xué)起來(lái)有一定門檻。

R的這些不足,都是可以克服的。當(dāng)有更多的工程背景的人加入的時(shí)候,R語(yǔ)言會(huì)比現(xiàn)在更強(qiáng)大,幫助使用者創(chuàng)造更多的價(jià)值。

3. R的應(yīng)用前景

R可以做所有SAS做的事情。

R應(yīng)用最熱門的領(lǐng)域:

  • 統(tǒng)計(jì)分析:包括統(tǒng)計(jì)分布,假設(shè)檢驗(yàn),統(tǒng)計(jì)建模
  • 金融分析:量化策略,投資組合,風(fēng)險(xiǎn)控制,時(shí)間序列,波動(dòng)率
  • 數(shù)據(jù)挖掘:數(shù)據(jù)挖掘算法,數(shù)據(jù)建模,機(jī)器學(xué)習(xí)
  • 互聯(lián)網(wǎng):推薦系統(tǒng),消費(fèi)預(yù)測(cè),社交網(wǎng)絡(luò)
  • 生物信息學(xué):DNA分析,物種分析
  • 生物制藥:生存分析,制藥過(guò)程管理
  • 全球地理科學(xué):天氣,氣候,遙感數(shù)據(jù)
  • 數(shù)據(jù)可視化:靜態(tài)圖,可交互的動(dòng)態(tài)圖,社交圖,地圖,熱圖,與各種Javascript庫(kù)的集成

我在博客中已經(jīng)寫了很多篇關(guān)于R語(yǔ)言應(yīng)用的文章,包括上面所列出的除生物以外的熱門領(lǐng)域。R有著非常廣闊的應(yīng)用前景,而且R也將成為新一代的最有能力創(chuàng)造價(jià)值的工具。

4. 時(shí)代賦予R的任務(wù)

R語(yǔ)言是在大數(shù)據(jù)時(shí)代被工業(yè)界了解和認(rèn)識(shí)的語(yǔ)言,R語(yǔ)言被時(shí)代賦予了,挖掘數(shù)據(jù)價(jià)值,發(fā)現(xiàn)數(shù)據(jù)規(guī)律,創(chuàng)造數(shù)據(jù)財(cái)富的任務(wù)。

R語(yǔ)言也是幫助人們發(fā)揮智慧和創(chuàng)造力的最好的生產(chǎn)工具,我們不僅要學(xué)好R語(yǔ)言,還要用好R語(yǔ)言,為社會(huì)注入更多的創(chuàng)新的生產(chǎn)力。

所以,通過(guò)上面的幾節(jié)內(nèi)容所有的文字描述,我認(rèn)為“R是最值得學(xué)習(xí)的編程語(yǔ)言”。不論你還在讀書,還是已經(jīng)工作,掌握R語(yǔ)言這個(gè)工具,找最適合自己的位置,前途將無(wú)限量。

最后總結(jié):在這5種語(yǔ)言中,R是最特殊的,R被賦予了與其他語(yǔ)言不同的使命。R的基因決定了,R將成為2014年,也可能是以后更長(zhǎng)一段時(shí)間的主角。

5. 作者介紹

張丹,程序員、架構(gòu)師,創(chuàng)業(yè)者。我的博客: http://blog.。

從程序員開始,到架構(gòu)師一路走來(lái),經(jīng)歷過(guò)太多的系統(tǒng)和應(yīng)用。做過(guò)手機(jī)游戲,寫過(guò)編程工具;做過(guò)大型Web應(yīng)用系統(tǒng),寫過(guò)公司內(nèi)部CRM;做過(guò)SOA的系統(tǒng)集成,寫過(guò)基于Hadoop的大數(shù)據(jù)工具;做過(guò)外包,做過(guò)電商,做過(guò)團(tuán)購(gòu),做過(guò)支付,做過(guò)SNS,也做過(guò)移動(dòng)SNS。以前只用Java,然后學(xué)了PHP,現(xiàn)在用R和Node。最后跳出IT圈,進(jìn)入金融圈,研發(fā)量化交易軟件。

注:我正在寫一本關(guān)于R語(yǔ)言的圖書,本篇文章會(huì)作為圖書的開篇文章。

轉(zhuǎn)載請(qǐng)注明出處:
http://blog./r-ideal/

This entry was posted in R語(yǔ)言實(shí)踐

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多