R语言简介与案例
R語言簡(jiǎn)介與案例
(本文為一次向計(jì)算機(jī)零基礎(chǔ)人群演講時(shí),應(yīng)要求所寫演示內(nèi)容)
一.?R語言是什么?
?
如果說統(tǒng)計(jì)學(xué)是人類歷史上的一次偉大跨越,那么R語言就是就是幫助統(tǒng)計(jì)學(xué)家走的更遠(yuǎn)的一雙翅膀.R語言是什么?R語言就是一門幫助統(tǒng)計(jì)學(xué)家在計(jì)算機(jī)上進(jìn)行數(shù)學(xué)計(jì)算的語言,有了它統(tǒng)計(jì)學(xué)家就可以與計(jì)算機(jī)更好地互動(dòng),并幫助統(tǒng)計(jì)學(xué)家更快更好的完成本專業(yè)的一些事情.
不過隨著時(shí)代的發(fā)展,R語言作為一門計(jì)算機(jī)語言,也已經(jīng)不僅僅能夠完成它的最初使命.同時(shí)現(xiàn)在的它還能夠完成許多的其他事情比如網(wǎng)絡(luò)爬蟲等等
?
二.?如何使用R語言?
R語言的使用十分簡(jiǎn)單.對(duì)于一般常用公式,R語言都已經(jīng)做好了封裝,將其封裝在了內(nèi)部.也就是說R語言已經(jīng)將很多常用的數(shù)學(xué)公式寫好了,對(duì)于數(shù)學(xué)中的各種函數(shù)與方法,在R中我們也給他們的計(jì)算機(jī)實(shí)現(xiàn)起了同樣的名字”函數(shù)”.
?
比如假如我們?cè)赗中使用卡方檢驗(yàn)來檢驗(yàn)兩個(gè)變量的相關(guān)性,那么只需要簡(jiǎn)單的調(diào)用”chisq.test()”函數(shù)就可以了.
?
舉個(gè)例子,我們使用R中自帶的卡方檢驗(yàn)函數(shù)對(duì)R語言中自帶的數(shù)據(jù)
上述結(jié)果表明數(shù)據(jù)集有很多因素變量,可以被認(rèn)為是分類變量。?對(duì)于我們的模型,我們將考慮變量“AirBags”和“Type”。?在這里,我們的目標(biāo)是找出所售的汽車類型和安全氣囊類型之間的任何顯著的相關(guān)性。?如果觀察到相關(guān)性,我們可以估計(jì)哪種類型的汽車可以更好地賣什么類型的氣囊。
?
文中的前三行代碼是從R語言中自帶的數(shù)據(jù)庫(kù)挑選出了汽車類型與安全氣囊這兩個(gè)數(shù)據(jù),然后將其展示給了我們,而最后一行代碼則使用”chisq.test()”函數(shù)對(duì)數(shù)據(jù)進(jìn)行了卡方檢驗(yàn)
?
從這里我們可以看出,對(duì)于使用R語言中的函數(shù)可以說是相當(dāng)?shù)暮?jiǎn)單了.
?
三.?在R語言中實(shí)現(xiàn)皮爾遜系數(shù)
?
皮爾遜系數(shù)是檢驗(yàn)變量之間線性相關(guān)性的一種常用方法,雖然R語言中已經(jīng)有了相關(guān)實(shí)現(xiàn),不過這里我們將要自己實(shí)現(xiàn)一下.
?
首先我們來確認(rèn)皮爾遜系數(shù)的一種實(shí)現(xiàn)方式,下面的這個(gè)公式十分簡(jiǎn)單,只要能夠使用R語言中的求均值,求和,開平方等基本操作就可以了.
?
?
?
通過上面的這些操作,我們已經(jīng)在R語言中是實(shí)現(xiàn)了皮爾遜系數(shù)的公式.如果有需要的話我們也可以將這個(gè)公式封裝為我們自己的函數(shù).只需要使用一條簡(jiǎn)單的語句聲明即可.
?
現(xiàn)在我們已經(jīng)擁有一個(gè)我們自己的函數(shù)了.
?
四.?使用R中的包
包是什么?
剛剛我們封裝了我們自己的一個(gè)函數(shù),而假如我們想要將我們自己的函數(shù)提供給別人使用,我們就需要將他們變成另外一種形式,也是就是包.
?
通過將我們自己的一些程序打成包發(fā)出去,就可以讓別人使用我們的包.同樣的我們也可以通過下載包的形式使用別人已經(jīng)做好的包.這樣我們都可以減少很多不必要的工作.也正因如此假如我們需要使用某一個(gè)R語言自身沒有帶的數(shù)學(xué)公式的時(shí)候,我們就可以去下載一些別人制作的包.這樣一來,我們就不需要自己做一些重復(fù)造輪子的事情了.
?
而同樣的在R中下載和使用包也是十分簡(jiǎn)單的.只需要”install.packages(“包名”)”即可.比如假如我們想要在R語言中使用隨機(jī)森林算法.那么只需要
然后執(zhí)行即可.
?
下面我們就在R語言中進(jìn)一步利用randomForest?進(jìn)行進(jìn)一步實(shí)戰(zhàn).
?
(1)?隨機(jī)森林randomForest?的語言
?
語法為--->??randomForest(formula,?data)
以下是所使用的參數(shù)的描述?-?
?
其中:formula是描述預(yù)測(cè)變量和響應(yīng)變量的公式。data是所使用的數(shù)據(jù)集的名稱
(2)?選擇數(shù)據(jù)
我們將使用名為readingSkills的R語言內(nèi)置數(shù)據(jù)集來創(chuàng)建決策樹。?它描述了某人的readingSkills的分?jǐn)?shù),如果我們知道變量“age”,“shoesize”,“score”,以及該人是否是母語。
以下是示例數(shù)據(jù)。
(3)?然后我們開始使用R語言中的隨機(jī)森林算法對(duì)數(shù)據(jù)建模預(yù)測(cè)
?
(4)?結(jié)論:從上面顯示的隨機(jī)森林,我們可以得出結(jié)論,鞋碼和成績(jī)是決定如果某人是母語者或不是母語的重要因素。?此外,該模型只有1%的誤差,這意味著我們可以預(yù)測(cè)精度為99%。
?
五.安裝問題
(1)win下請(qǐng)到官網(wǎng)下載exe安裝文件,直接安裝即可,R語言鏡像目錄,Rstudio
(2)Ubuntu下R與Rstudio的安裝與配置
?
?
總結(jié)
- 上一篇: 深入浅出统计学 第二三章 量度
- 下一篇: 深入浅出统计学 第四五章 离散概率的计算