99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀做數(shù)據(jù)分析必須學(xué)R的4個(gè)理由
做數(shù)據(jù)分析必須學(xué)R的4個(gè)理由
2015-09-24
收藏

做數(shù)據(jù)分析必須學(xué)R的4個(gè)理由


R 是一種靈活的編程語(yǔ)言,專為促進(jìn)探索性數(shù)據(jù)分析、經(jīng)典統(tǒng)計(jì)學(xué)測(cè)試和高級(jí)圖形學(xué)而設(shè)計(jì)。R 擁有豐富的、仍在不斷擴(kuò)大的數(shù)據(jù)包庫(kù),處于統(tǒng)計(jì)學(xué)、數(shù)據(jù)分析和數(shù)據(jù)挖掘發(fā)展的前沿。R 已證明自己是不斷成長(zhǎng)的大數(shù)據(jù)領(lǐng)域的一個(gè)有用工具,并且已集成到多個(gè)商用包中,比如 IBM SPSS? 和 InfoSphere?,以及 Mathematica。

本文提供了一位統(tǒng)計(jì)學(xué)家Catherine Dalzell對(duì) R 的價(jià)值的看法。

為什么選擇 R?

R 可以執(zhí)行統(tǒng)計(jì)。您可以將它視為 SAS Analytics 等分析系統(tǒng)的競(jìng)爭(zhēng)對(duì)手,更不用提 StatSoft STATISTICA 或 Minitab 等更簡(jiǎn)單的包。政府、企業(yè)和制藥行業(yè)中許多專業(yè)統(tǒng)計(jì)學(xué)家和方法學(xué)家都將其全部職業(yè)生涯都投入到了 IBM SPSS 或 SAS 中,但卻沒有編寫過(guò)一行 R 代碼。所以從某種程度上講,學(xué)習(xí)和使用 R 的決定事關(guān)企業(yè)文化和您希望如何工作。我在統(tǒng)計(jì)咨詢實(shí)踐中使用了多種工具,但我的大部分工作都是在 R 中完成的。以下這些示例給出了我使用 R 的原因:

R 是一種強(qiáng)大的腳本語(yǔ)言。我最近被要求分析一個(gè)范圍研究的結(jié)果。研究人員檢查了 1,600 篇研究論文,并依據(jù)多個(gè)條件對(duì)它們的內(nèi)容進(jìn)行編碼,事實(shí)上,這些條件是大量具有多個(gè)選項(xiàng)和分叉的條件。它們的數(shù)據(jù)(曾經(jīng)扁平化到一個(gè) Microsoft? Excel? 電子表格上)包含 8,000 多列,其中大部分都是空的。研究人員希望統(tǒng)計(jì)不同類別和標(biāo)題下的總數(shù)。R 是一種強(qiáng)大的腳本語(yǔ)言,能夠訪問類似 Perl 的正則表達(dá)式來(lái)處理文本。凌亂的數(shù)據(jù)需要一種編程語(yǔ)言資源,而且盡管 SAS 和 SPSS 提供了腳本語(yǔ)言來(lái)執(zhí)行下拉菜單意外的任務(wù),但 R 是作為一種編程語(yǔ)言編寫的,所以是一種更適合該用途的工具。

R 走在時(shí)代的前沿。統(tǒng)計(jì)學(xué)中的許多新發(fā)展最初都是以 R 包的形式出現(xiàn)的,然后才被引入到商業(yè)平臺(tái)中。我最近獲得了一項(xiàng)對(duì)患者回憶的醫(yī)療研究的數(shù)據(jù)。對(duì)于每位患者,我們擁有醫(yī)生建議的治療項(xiàng)目數(shù)量,以及患者實(shí)際記住的項(xiàng)目數(shù)量。自然模型是貝塔—二項(xiàng)分布。這從上世紀(jì) 50 年代就已知道,但將該模型與感興趣的變量相關(guān)聯(lián)的估算過(guò)程是最近才出現(xiàn)的。像這樣的數(shù)據(jù)通常由廣義估計(jì)方程式 (general estimating equations, GEE) 處理,但 GEE 方法是漸進(jìn)的,而且假設(shè)抽樣范圍很廣。我想要一種具有貝塔—二項(xiàng) R 的廣義線性模型。一個(gè)最新的 R 包估算了這一模型:Ben Bolker 編寫的 betabinom。而 SPSS 沒有。

集成文檔發(fā)布。 R 完美地集成了 LaTeX 文檔發(fā)布系統(tǒng),這意味著來(lái)自 R 的統(tǒng)計(jì)輸出和圖形可嵌入到可供發(fā)布的文檔中。這不是所有人都用得上,但如果您希望便攜異步關(guān)于數(shù)據(jù)分析的書籍,或者只是不希望將結(jié)果復(fù)制到文字處理文檔,最短且最優(yōu)雅的路徑就是通過(guò) R 和 LaTeX。

沒有成本。作為一個(gè)小型企業(yè)的所有者,我很喜歡 R 的免費(fèi)特定。即使對(duì)于更大的企業(yè),知道您能夠臨時(shí)調(diào)入某個(gè)人并立即讓他們坐在工作站旁使用一流的分析軟件,也很不錯(cuò)。無(wú)需擔(dān)憂預(yù)算。

R 是什么,它有何用途?

作為一種編程語(yǔ)言,R 與許多其他語(yǔ)言都很類似。任何編寫過(guò)代碼的人都會(huì)在 R 中找到很多熟悉的東西。R 的特殊性在于它支持的統(tǒng)計(jì)哲學(xué)。

一種統(tǒng)計(jì)學(xué)革命:S 和探索性數(shù)據(jù)分析

140 字符的解釋:R 是 S 的一種開源實(shí)現(xiàn),是一種用于數(shù)據(jù)分析和圖形的編程環(huán)境。

計(jì)算機(jī)總是擅長(zhǎng)計(jì)算 — 在您編寫并調(diào)試了一個(gè)程序來(lái)執(zhí)行您想要的算法后。但在上世紀(jì) 60 和 70 年代,計(jì)算機(jī)并不擅長(zhǎng)信息的顯示,尤其是圖形。這些技術(shù)限制在結(jié)合統(tǒng)計(jì)理論中的趨勢(shì),意味著統(tǒng)計(jì)實(shí)踐和統(tǒng)計(jì)學(xué)家的培訓(xùn)專注于模型構(gòu)建和假設(shè)測(cè)試。一個(gè)人假定這樣一個(gè)世界,研究人員在其中設(shè)定假設(shè)(常常是農(nóng)業(yè)方面的),構(gòu)建精心設(shè)計(jì)的實(shí)驗(yàn)(在一個(gè)農(nóng)業(yè)站),填入模型,然后運(yùn)行測(cè)試。一個(gè)基于電子表格、菜單驅(qū)動(dòng)的程序(比如 SPSS 反映了這一方法)。事實(shí)上,SPSS 和 SAS Analytics 的第一個(gè)版本包含一些子例程,這些子例程可從一個(gè)(Fortran 或其他)程序調(diào)用來(lái)填入和測(cè)試一個(gè)模型工具箱中的一個(gè)模型。

在這個(gè)規(guī)范化和滲透理論的框架中,John Tukey 放入了探索性數(shù)據(jù)分析 (EDA) 的概念,這就像一個(gè)鵝卵石擊中了玻璃屋頂。如今,很難想像沒有使用箱線圖(box plot) 來(lái)檢查偏度和異常值就開始分析一個(gè)數(shù)據(jù)集的情形,或者沒有針對(duì)一個(gè)分位點(diǎn)圖檢查某個(gè)線性模型殘差的常態(tài)的情形。這些想法由 Tukey 提出,現(xiàn)在任何介紹性的統(tǒng)計(jì)課程都會(huì)介紹它們。但并不總是如此。

與其說(shuō) EDA 是一種理論,不如說(shuō)它是一種方法。該方法離不開以下經(jīng)驗(yàn)規(guī)則:

  • 只要有可能,就應(yīng)使用圖形來(lái)識(shí)別感興趣的功能。
  • 分析是遞增的。嘗試以下這種模型;根據(jù)結(jié)果來(lái)填充另一個(gè)模型。
  • 使用圖形檢查模型假設(shè)。標(biāo)記存在異常值。
  • 使用健全的方法來(lái)防止違背分布假設(shè)。

Tukey 的方法引發(fā)了一個(gè)新的圖形方法和穩(wěn)健估計(jì)的發(fā)展浪潮。它還啟發(fā)了一個(gè)更適合探索性方法的新軟件框架的開發(fā)。

S 語(yǔ)言是在貝爾實(shí)驗(yàn)室由 John Chambers 和同事開發(fā)的,被用作一個(gè)統(tǒng)計(jì)分析平臺(tái),尤其是 Tukey 排序。第一個(gè)版本(供貝爾實(shí)驗(yàn)室內(nèi)部使用)于 1976 年開發(fā),但直到 1988 年,它才形成了類似其當(dāng)前形式的版本。在這時(shí),該語(yǔ)言也可供貝爾實(shí)驗(yàn)室外部的用戶使用。該語(yǔ)言的每個(gè)方面都符合數(shù)據(jù)分析的 “新模型”:

S 是一種在編程環(huán)境操作的解釋語(yǔ)言。S 語(yǔ)法與 C 的語(yǔ)法很相似,但省去了困難的部分。S 負(fù)責(zé)執(zhí)行內(nèi)存管理和變量聲明,舉例而言,這樣用戶就無(wú)需編寫或調(diào)試這些方面了。更低的編程開銷使得用戶可以在同一個(gè)數(shù)據(jù)集上快速執(zhí)行大量分析。

從一開始,S 就考慮到了高級(jí)圖形的創(chuàng)建,您可向任何打開的圖形窗口添加功能。您可很容易地突出興趣點(diǎn),查詢它們的值,使散點(diǎn)圖變得更平滑,等等。

面向?qū)ο笮允?1992 年添加到 S 中的。在一個(gè)編程語(yǔ)言中,對(duì)象構(gòu)造數(shù)據(jù)和函數(shù)來(lái)滿足用戶的直覺。人類的思維始終是面向?qū)ο蟮?,統(tǒng)計(jì)推理尤其如此。統(tǒng)計(jì)學(xué)家處理頻率表、時(shí)間序列、矩陣、具有各種數(shù)據(jù)類型的電子表格、模型,等等。在每種情況下,原始數(shù)據(jù)都擁有屬性和期望值:舉例而言,一個(gè)時(shí)間序列包含觀察值和時(shí)間點(diǎn)。而且對(duì)于每種數(shù)據(jù)類型,都應(yīng)得到標(biāo)準(zhǔn)統(tǒng)計(jì)數(shù)據(jù)和平面圖。對(duì)于時(shí)間序列,我可能繪制一個(gè)時(shí)間序列平面圖和一個(gè)相關(guān)圖;對(duì)于擬合模型,我可能繪制擬合值和殘差。S 支持為所有這些概念創(chuàng)建對(duì)象,您可以根據(jù)需要?jiǎng)?chuàng)建更多的對(duì)象類。對(duì)象使得從問題的概念化到其代碼的實(shí)現(xiàn)變得非常簡(jiǎn)單。

一種具有態(tài)度的語(yǔ)言:S、S-Plus 和假設(shè)測(cè)試

最初的 S 語(yǔ)言非常重視 Tukey 的 EDA,已達(dá)到只能 在 S 中執(zhí)行 EDA 而不能執(zhí)行其他任何操作的程度。這是一種具有態(tài)度的語(yǔ)言。舉例而言,盡管 S 帶來(lái)了一些有用的內(nèi)部功能,但它缺乏您希望統(tǒng)計(jì)軟件擁有的一些最明顯的功能。沒有函數(shù)來(lái)執(zhí)行雙抽樣測(cè)試或任何類型的真實(shí)假設(shè)測(cè)試。但 Tukey 認(rèn)為,假設(shè)測(cè)試有時(shí)正合適。

1988 年,位于西雅圖的 Statistical Science 獲得 S 的授權(quán),并將該語(yǔ)言的一個(gè)增強(qiáng)版本(稱為 S-Plus)移植到 DOS 以及以后的 Windows? 中。實(shí)際認(rèn)識(shí)到客戶想要什么后,Statistical Science 向 S-Plus 添加了經(jīng)典統(tǒng)計(jì)學(xué)功能。添加執(zhí)行方差分析 (ANOVA)、測(cè)試和其他模型的功能。對(duì) S 的面向?qū)ο笮远?,任何這類擬合模型的結(jié)果本身都是一個(gè) S 對(duì)象。合適的函數(shù)調(diào)用都會(huì)提供假設(shè)測(cè)試的擬合值、殘差和 p-值。模型對(duì)象甚至可以包含分析的中間計(jì)算步驟,比如一個(gè)設(shè)計(jì)矩陣的 QR 分解(其中 Q 是對(duì)角線,R 是右上角)。

有一個(gè) R 包來(lái)完成該任務(wù)!還有一個(gè)開源社區(qū)

大約在與發(fā)布 S-Plus 相同的時(shí)間,新西蘭奧克蘭大學(xué)的 Ross Ihaka 和 Robert Gentleman 決定嘗試編寫一個(gè)解釋器。他們選擇了 S 語(yǔ)言作為其模型。該項(xiàng)目逐漸成形并獲得了支持。它們將其命名為 R。

R 是 S 的一種實(shí)現(xiàn),包含 S-Plus 開發(fā)的更多模型。有時(shí)候,發(fā)揮作用的是同一些人。R 是 GNU 許可下的一個(gè)開源項(xiàng)目。在此基礎(chǔ)上,R 不斷發(fā)展,主要通過(guò)添加包。R 包 是一個(gè)包含數(shù)據(jù)集、R 函數(shù)、文檔和 C 或 Fortran 動(dòng)態(tài)加載項(xiàng)的集合,可以一起安裝并從 R 會(huì)話訪問。R 包向 R 添加新功能,通過(guò)這些包,研究人員可在同行之間輕松地共享計(jì)算方法。一些包的范圍有限,另一些包代表著整個(gè)統(tǒng)計(jì)學(xué)領(lǐng)域,還有一些包含最新的技術(shù)發(fā)展。事實(shí)上,統(tǒng)計(jì)學(xué)中的許多發(fā)展最初都是以 R 包形式出現(xiàn)的,然后才應(yīng)用到商用軟件中。
在撰寫本文時(shí),R 下載站點(diǎn) CRAN 上已有 4,701 個(gè) R 包。其中,單單那一天就添加了 6 個(gè) R 。萬(wàn)事萬(wàn)物都有一個(gè)對(duì)應(yīng)的 R 包,至少看起來(lái)是這樣。

我在使用 R 時(shí)會(huì)發(fā)生什么?

備注:本文不是一部 R 教程。下面的示例僅試圖讓您了解 R 會(huì)話看起來(lái)是什么樣的。

R 二進(jìn)制文件可用于 Windows、Mac OS X 和多個(gè) Linux? 發(fā)行版。源代碼也可供人們自行編譯。

在 Windows? 中,安裝程序?qū)?R 添加到開始菜單中。要在 Linux 中啟動(dòng) R,可打開一個(gè)終端窗口并在提示符下鍵入 R。您應(yīng)看到類似圖 1 的畫面。

R

圖 1. R 工作區(qū)

在提示符下鍵入一個(gè)命令,R 就會(huì)響應(yīng)。

此時(shí),在真實(shí)的環(huán)境中,您可能會(huì)從一個(gè)外部數(shù)據(jù)文件將數(shù)據(jù)讀入 R 對(duì)象中。R 可從各種不同格式的文件讀取數(shù)據(jù),但對(duì)于本示例,我使用的是來(lái)自 MASS 包的 michelson 數(shù)據(jù)。這個(gè)包附帶了 Venables and Ripley 的標(biāo)志性文本 Modern Applied Statistics with S-Plus(參見 參考資料)。michelson 包含來(lái)自測(cè)量光速的流行的 Michelson and Morley 實(shí)驗(yàn)的結(jié)果。

清單 1 中提供的命令可以加載 MASS 包,獲取并查看 michelson 數(shù)據(jù)。圖 2 顯示了這些命令和來(lái)自 R 的響應(yīng)。每一行包含一個(gè) R 函數(shù),它的參數(shù)放在方括號(hào) ([]) 內(nèi)。

清單 1. 啟動(dòng)一個(gè) R 會(huì)話

    2+2             # R can be a calculator. R responds, correctly, with 4.
    library("MASS") # Loads into memory the functions and data sets from 
                    # package MASS, that accompanies Modern Applied Statistics in S

    data(michelson) # Copies the michelson data set into the workspace.

    ls()            # Lists the contents of the workspace. The michelson data is there.

    head(michelson) # Displays the first few lines of this data set.
                    # Column Speed contains Michelson and Morleys estimates of the 
                    # speed of light, less 299,000, in km/s.
                    # Michelson and Morley ran five experiments with 20 runs each.
                    # The data set contains indicator variables for experiment and run.
    help(michelson) # Calls a help screen, which describes the data set.

圖 2. 會(huì)話啟動(dòng)和 R 的響應(yīng)

R

現(xiàn)在讓我們看看該數(shù)據(jù)(參見 清單 2)。輸出如 圖 3 中所示。

清單 2. R 中的一個(gè)箱線圖

    # Basic boxplot

    with(michelson, boxplot(Speed ~ Expt)) 

    # I can add colour and labels. I can also save the results to an object.

    michelson.bp = with(michelson, boxplot(Speed ~ Expt, xlab="Experiment", las=1, 
                    ylab="Speed of Light - 299,000 m/s", 
                    main="Michelson-Morley Experiments",
                    col="slateblue1")) 
                 
    # The current estimate of the speed of light, on this scale, is 734.5
    # Add a horizontal line to highlight this value.

    abline(h=734.5, lwd=2,col="purple")  #Add modern speed of light

Michelson and Morley 似乎有計(jì)劃地高估了光速。各個(gè)實(shí)驗(yàn)之間似乎也存在一定的不均勻性。

圖 3. 繪制一個(gè)箱線圖

R

在對(duì)分析感到滿意后,我可以將所有命令保存到一個(gè) R 函數(shù)中。參見清單 3。

清單 3. R 中的一個(gè)簡(jiǎn)單函數(shù)

    MyExample = function(){
        library(MASS)
        data(michelson)
        michelson.bw = with(michelson, boxplot(Speed ~ Expt, xlab="Experiment", las=1, 
        ylab="Speed of Light - 299,000 m/s", main="Michelsen-Morley Experiments", 
            col="slateblue1"))
        abline(h=734.5, lwd=2,col="purple")

    }

這個(gè)簡(jiǎn)單示例演示了 R 的多個(gè)重要功能:

保存結(jié)果—boxplot() 函數(shù)返回一些有用的統(tǒng)計(jì)數(shù)據(jù)和一個(gè)圖表,您可以通過(guò)類似 michelson.bp = … 的負(fù)值語(yǔ)句將這些結(jié)果保存到一個(gè) R 對(duì)象中,并在需要時(shí)提取它們。任何賦值語(yǔ)句的結(jié)果都可在 R 會(huì)話的整個(gè)過(guò)程中獲得,并且可以作為進(jìn)一步分析的主題。boxplot 函數(shù)返回一個(gè)用于繪制箱線圖的統(tǒng)計(jì)數(shù)據(jù)(中位數(shù)、四分位等)矩陣、每個(gè)箱線圖中的項(xiàng)數(shù),以及異常值(在 圖 3 中的圖表上顯示為開口圓)。請(qǐng)參見圖 4。

圖 4. 來(lái)自 boxplot 函數(shù)的統(tǒng)計(jì)數(shù)據(jù)

R

 

公式語(yǔ)言— R(和 S)有一種緊湊的語(yǔ)言來(lái)表達(dá)統(tǒng)計(jì)模型。參數(shù)中的代碼 Speed ~ Expt 告訴函數(shù)在每個(gè) Expt (實(shí)驗(yàn)數(shù)字)級(jí)別上繪制 Speed 的箱線圖。如果希望執(zhí)行方差分析來(lái)測(cè)試各次實(shí)驗(yàn)中的速度是否存在顯著差異,那么可以使用相同的公式:lm(Speed ~ Expt)。公式語(yǔ)言可表達(dá)豐富多樣的統(tǒng)計(jì)模型,包括交叉和嵌套效應(yīng),以及固定和隨機(jī)因素。

用戶定義的 R 函數(shù)— 這是一種編程語(yǔ)言。

R 已進(jìn)入 21 世紀(jì)

Tukey 的探索性數(shù)據(jù)分析方法已成為常規(guī)課程。我們?cè)诮淌谶@種方法,而統(tǒng)計(jì)學(xué)家也在使用該方法。R 支持這種方法,這解釋了它為什么仍然如此流行的原因。面向?qū)ο笮赃€幫助 R 保持最新,因?yàn)樾碌臄?shù)據(jù)來(lái)源需要新的數(shù)據(jù)結(jié)構(gòu)來(lái)執(zhí)行分析。InfoSphere? Streams 現(xiàn)在支持對(duì)與 John Chambers 所設(shè)想的不同的數(shù)據(jù)執(zhí)行 R 分析。

R 與 InfoSphere Streams

InfoSphere Streams 是一個(gè)計(jì)算平臺(tái)和集成開發(fā)環(huán)境,用于分析從數(shù)千個(gè)來(lái)源獲得的高速數(shù)據(jù)。這些數(shù)據(jù)流的內(nèi)容通常是非結(jié)構(gòu)化或半結(jié)構(gòu)化的。分析的目的是檢測(cè)數(shù)據(jù)中不斷變化的模式,基于快速變化的事件來(lái)指導(dǎo)決策。SPL(用于 InfoSphere Streams 的編程語(yǔ)言)通過(guò)一種范例來(lái)組織數(shù)據(jù),反映了數(shù)據(jù)的動(dòng)態(tài)性以及對(duì)快速分析和響應(yīng)的需求。

我們已經(jīng)距離用于經(jīng)典統(tǒng)計(jì)分析的電子表格和常規(guī)平面文件很遠(yuǎn),但 R 能夠應(yīng)付自如。從 3.1 版開始,SPL 應(yīng)用程序可將數(shù)據(jù)傳遞給 R,從而利用 R 龐大的包庫(kù)。InfoSphere Streams 對(duì) R 的支持方式是,創(chuàng)建合適的 R 對(duì)象來(lái)接收 SPL 元組(SPL 中的基本數(shù)據(jù)結(jié)構(gòu))中包含的信息。InfoSphere Streams 數(shù)據(jù)因此可傳遞給 R 供進(jìn)一步分析,并將結(jié)果傳回到 SPL。

R 需要主流硬件嗎?

我在一臺(tái)運(yùn)行 Crunchbang Linux 的宏碁上網(wǎng)本上運(yùn)行了這個(gè)示例。R 不需要笨重的機(jī)器來(lái)執(zhí)行中小規(guī)模的分析。20 年來(lái),人們一直認(rèn)為 R 之所以緩慢是因?yàn)樗且环N解釋性語(yǔ)言,而且它可以分析的數(shù)據(jù)大小受計(jì)算機(jī)內(nèi)存的限制。這是真的,但這通常與現(xiàn)代機(jī)器毫無(wú)干系,除非應(yīng)用程序非常大(大數(shù)據(jù))。

R 的不足之處

公平地講,R 也有一些事做不好或完全不會(huì)做。不是每個(gè)用戶都適合使用 R:

R 不是一個(gè)數(shù)據(jù)倉(cāng)庫(kù)。在 R 中輸入數(shù)據(jù)的最簡(jiǎn)單方式是,將數(shù)據(jù)輸入到其他地方,然后將它導(dǎo)入到 R 中。人們已經(jīng)努力地為 R 添加了一個(gè)電子表格前端,但它們還沒流行起來(lái)。電子表格功能的缺乏不僅會(huì)影響數(shù)據(jù)輸入,還會(huì)讓以直觀的方式檢查 R 中的數(shù)據(jù)變得很困難,就像在 SPSS 或 Excel 中一樣。

R 使普通的任務(wù)變得很困難。舉例而言,在醫(yī)療研究中,您對(duì)數(shù)據(jù)做的第一件事就是計(jì)算所有變量的概括統(tǒng)計(jì)量,列出無(wú)響應(yīng)的地方和缺少的數(shù)據(jù)。這在 SPSS 中只需 3 次單擊即可完成,但 R 沒有內(nèi)置的函數(shù)來(lái)計(jì)算這些非常明顯的信息,并以表格形式顯示它。您可以非常輕松地編寫一些代碼,但有時(shí)您只是想指向要計(jì)算的信息并單擊鼠標(biāo)。

R 的學(xué)習(xí)曲線是非平凡的。初學(xué)者可打開一個(gè)菜單驅(qū)動(dòng)的統(tǒng)計(jì)平臺(tái)并在幾分鐘內(nèi)獲取結(jié)果。不是每個(gè)人都希望成為程序員,然后再成為一名分析家,而且或許不是每個(gè)人都需要這么做。

R 是開源的。R 社區(qū)很大、非常成熟并且很活躍,R 無(wú)疑屬于比較成功的開源項(xiàng)目。前面已經(jīng)提到過(guò),R 的實(shí)現(xiàn)已有超過(guò) 20 年歷史,S 語(yǔ)言的存在時(shí)間更長(zhǎng)。這是一個(gè)久經(jīng)考驗(yàn)的概念和久經(jīng)考驗(yàn)的產(chǎn)品。但對(duì)于任何開源產(chǎn)品,可靠性都離不開透明性。我們信任它的代碼,因?yàn)槲覀兛勺孕袡z查它,而且其他人可以檢查它并報(bào)告錯(cuò)誤。這與自行執(zhí)行基準(zhǔn)測(cè)試并驗(yàn)證其軟件的企業(yè)項(xiàng)目不同。而且對(duì)于更少使用的 R 包,您沒有理由假設(shè)它們會(huì)實(shí)際生成正確的結(jié)果。

結(jié)束語(yǔ)

我是否需要學(xué)習(xí) R?或許不需要;需要 是一個(gè)感情很強(qiáng)烈的詞。但 R 是否是一個(gè)有價(jià)值的數(shù)據(jù)分析工具呢?當(dāng)然是的。該語(yǔ)言專為反映統(tǒng)計(jì)學(xué)家的思考和工作方式而設(shè)計(jì)。R 鞏固了良好的習(xí)慣和合理的分析。對(duì)我而言,它是適合我的工作的工具。

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }