自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

美團(tuán)R語(yǔ)言數(shù)據(jù)運(yùn)營(yíng)實(shí)戰(zhàn)

開發(fā) 前端 大數(shù)據(jù)
本文將基于美團(tuán)到店餐飲技術(shù)部的精細(xì)化數(shù)據(jù)運(yùn)營(yíng)實(shí)踐,介紹R在數(shù)據(jù)分析與可視化方面的工程能力,希望能夠拋磚引玉,也歡迎業(yè)界同行給我們提供更多的建議。

一、引言

近年來(lái),隨著分布式數(shù)據(jù)處理技術(shù)的不斷革新,Hive、Spark、Kylin、Impala、Presto 等工具不斷推陳出新,對(duì)大數(shù)據(jù)集合的計(jì)算和存儲(chǔ)成為現(xiàn)實(shí),數(shù)據(jù)倉(cāng)庫(kù)/商業(yè)分析部門日益成為各類企業(yè)和機(jī)構(gòu)的標(biāo)配。在這種背景下,是否能探索和挖掘數(shù)據(jù)價(jià)值,具備精細(xì)化數(shù)據(jù)運(yùn)營(yíng)的能力,就成為判定一個(gè)數(shù)據(jù)團(tuán)隊(duì)成功與否的關(guān)鍵。

在數(shù)據(jù)從后臺(tái)走向前臺(tái)的過(guò)程中,數(shù)據(jù)展示是最后一步關(guān)鍵環(huán)節(jié)。與冰冷的表格展示相比,將數(shù)據(jù)轉(zhuǎn)化成圖表并進(jìn)行適當(dāng)?shù)膬?nèi)容組織,往往能更快速、更直觀的傳遞信息,進(jìn)而更好的提供決策支持。從結(jié)構(gòu)化數(shù)據(jù)到最終的展示,需要通過(guò)一系列的探索和分析過(guò)程去完成產(chǎn)品思路的沉淀,這個(gè)過(guò)程也伴隨著大量的數(shù)據(jù)二次處理。

上述這些場(chǎng)合 R 語(yǔ)言有著獨(dú)特的優(yōu)勢(shì)。本文將基于美團(tuán)到店餐飲技術(shù)部的精細(xì)化數(shù)據(jù)運(yùn)營(yíng)實(shí)踐,介紹 R 在數(shù)據(jù)分析與可視化方面的工程能力,希望能夠拋磚引玉,也歡迎業(yè)界同行給我們提供更多的建議。

二、數(shù)據(jù)運(yùn)營(yíng)產(chǎn)品分類與 R 的優(yōu)勢(shì)

2.1 數(shù)據(jù)運(yùn)營(yíng)產(chǎn)品分類

在企業(yè)數(shù)據(jù)運(yùn)營(yíng)過(guò)程中,考慮使用場(chǎng)景、產(chǎn)品特點(diǎn)、實(shí)施角色以及可利用的工具,大致可以將數(shù)據(jù)運(yùn)營(yíng)需求分為四類,如下表所示:

 

美團(tuán)R語(yǔ)言數(shù)據(jù)運(yùn)營(yíng)實(shí)戰(zhàn)

2.2 R 在數(shù)據(jù)運(yùn)營(yíng)上的優(yōu)勢(shì)

如上節(jié)所述,在精細(xì)化數(shù)據(jù)運(yùn)營(yíng)過(guò)程中,經(jīng)常需要使用高度定制的數(shù)據(jù)處理、可視化、分析等手段,這些過(guò)程 Excel、Tableau、企業(yè)級(jí)報(bào)表工具都無(wú)法面面俱到,而恰好是 R 的強(qiáng)項(xiàng)。一般來(lái)說(shuō),R 具備的如下特征,讓其有了“數(shù)據(jù)分析領(lǐng)域的瑞士軍刀”的名號(hào):

  • 免費(fèi)、開源、可擴(kuò)展:截至到 2018-08-02,“ The CRAN package repository features 12858 available packages. ”,CRAN 上的軟件包涉及貝葉斯分析、運(yùn)籌學(xué)、金融、基因分析、遺傳學(xué)等方方面面,并在持續(xù)新增和迭代。
  • 可編程:R 本身是一門解釋型語(yǔ)言,可以通過(guò)代碼控制執(zhí)行過(guò)程,并能通過(guò) rPython、rJava 等軟件包實(shí)現(xiàn)和 Python、Java 語(yǔ)言的互相調(diào)用。

強(qiáng)大的數(shù)據(jù)操控能力:

  • 數(shù)據(jù)源接入:通過(guò) RMySQL、SparkR、elastic 等軟件包,可以實(shí)現(xiàn)從 MySQL、Spark、Elasticsearch 等外部數(shù)據(jù)引擎獲取數(shù)據(jù)。
  • 數(shù)據(jù)處理:內(nèi)置 vector、list、matrix、data.frame 等數(shù)據(jù)結(jié)構(gòu),并能通過(guò) sqldf、tidyr、dplyr、reshape2 等軟件包實(shí)現(xiàn)對(duì)數(shù)據(jù)的二次加工。
  • 數(shù)據(jù)可視化:ggplot2、plotly、dygraph 等可視化包可以實(shí)現(xiàn)高度定制化的圖表渲染。
  • 數(shù)據(jù)分析與挖掘:R 本身是一門由統(tǒng)計(jì)學(xué)家發(fā)起的面向統(tǒng)計(jì)分析的語(yǔ)言,通過(guò)自行編程實(shí)現(xiàn)或者第三方軟件包調(diào)用,可以輕松實(shí)現(xiàn)線性回歸、方差分析、主成分分析等分析與挖掘功能。

初具雛形的服務(wù)框架:

  • Web 編程框架:例如不精通前端和系統(tǒng)開發(fā)的同學(xué),通過(guò) shiny 軟件包開發(fā)自己的數(shù)據(jù)應(yīng)用。
  • 服務(wù)化能力:例如通過(guò) rserve 包,可以實(shí)現(xiàn) R 和其他語(yǔ)言通信的 C/S 架構(gòu)服務(wù)。

對(duì)于以數(shù)據(jù)為中心的應(yīng)用來(lái)說(shuō),Python 和 R 都是不錯(cuò)的選擇,兩門語(yǔ)言在發(fā)展過(guò)程中也互有借鑒。“越接近統(tǒng)計(jì)研究與數(shù)據(jù)分析,越傾向 R;越接近工程開發(fā)工程環(huán)境的人,越傾向 Python”,Python 是一個(gè)全能型“運(yùn)動(dòng)員”,R 則更像是一個(gè)統(tǒng)計(jì)分析領(lǐng)域的“劍客”,“Python 并未建立起一個(gè)能與 CRAN 媲美的巨大的代碼庫(kù),R 在這方面具有絕對(duì)領(lǐng)先優(yōu)勢(shì)。統(tǒng)計(jì)學(xué)并不是 Python 的核心使命”。各技術(shù)網(wǎng)站上有大量“Python VS R ”的討論,感興趣的讀者可以自行了解和作出選擇。

三、R 的數(shù)據(jù)處理、可視化、可重復(fù)性數(shù)據(jù)分析能力

對(duì)于具備編程能力的分析師或者具備分析能力的開發(fā)人員來(lái)說(shuō),在進(jìn)行一系列長(zhǎng)期的數(shù)據(jù)分析工程時(shí),使用 R 既可以滿足“一次開發(fā),終身受用”,又可以滿足“調(diào)整靈活,圖形豐富”的要求。下文將分別介紹 R 的數(shù)據(jù)處理能力、可視化能力和可重復(fù)性數(shù)據(jù)分析能力。

3.1 數(shù)據(jù)處理

在企業(yè)級(jí)數(shù)據(jù)系統(tǒng)中,數(shù)據(jù)清洗、計(jì)算和整合工作會(huì)通過(guò)數(shù)據(jù)倉(cāng)庫(kù)、Hive、Spark、Kylin 等工具完成。對(duì)于數(shù)據(jù)運(yùn)營(yíng)項(xiàng)目,雖然 R 操作的是結(jié)果數(shù)據(jù)集,但也不能避免需要在查詢層進(jìn)行二次數(shù)據(jù)處理。

在數(shù)據(jù)查詢層,R 生態(tài)現(xiàn)成就存在眾多的組件支持,例如可以通過(guò) RMySQL 包進(jìn)行 MySQL 庫(kù)表的查詢,可以使用 Elastic 包對(duì) Elasticsearch 索引文檔進(jìn)行搜索。對(duì)于 Kylin 等新技術(shù),在 R 生態(tài)的組件支持沒有跟上時(shí),可以通過(guò)使用 Python、Java 等系統(tǒng)語(yǔ)言進(jìn)行查詢接口封裝,在 R 內(nèi)部使用 rPython、rJava 組件進(jìn)行第三方查詢接口調(diào)用。通過(guò)查詢組件獲取的數(shù)據(jù)一般以 data.frame、list 等類型對(duì)象存在。

另外 R 本身也擁有比較完備的二次數(shù)據(jù)處理能力。例如可以通過(guò) sqldf 使用 sql 對(duì) data.frame 對(duì)象進(jìn)行數(shù)據(jù)處理,可以使用 reshape2 進(jìn)行寬格式和窄格式的轉(zhuǎn)化,可以使用 stringr 完成各種字符串處理,其他如排序、分組處理、缺失值填充等功能,也都具備完善的語(yǔ)言本身和生態(tài)的支持。

3.2 數(shù)據(jù)可視化

數(shù)據(jù)可視化是數(shù)據(jù)探索過(guò)程和結(jié)果呈現(xiàn)的關(guān)鍵環(huán)節(jié),而 “ R is a free software environment for statistical computing and graphics. ”,繪圖(可視化)系統(tǒng)也是 R 的最大優(yōu)勢(shì)之一。

目前 R 主流支持的有三套可視化系統(tǒng):

  1. 內(nèi)置系統(tǒng):包括有 base、grid 和 lattice 三個(gè)內(nèi)置發(fā)行包,支持以相對(duì)比較樸素的方式完成圖形繪制。
  2. ggplot2:由 RStudio 的首席科學(xué)家 Hadley Wickham 開發(fā),ggplot2 通過(guò)一套圖形語(yǔ)法支持,支持通過(guò)圖層疊加以組合的方式支持高度定制的可視化。這一理念也逐步影響了包括 Plotly、阿里 AntV 等國(guó)內(nèi)外數(shù)據(jù)可視化解決方案。截至到 2018-08-02,CRAN 已經(jīng)落地了 40 個(gè) ggplot2 擴(kuò)展包,參考 鏈接 。
  3. htmlwidgets for R:這一系統(tǒng)是在 RStudio 支持下于 2016 年開始逐步發(fā)展壯大,提供基于 JavaScript 可視化的 R 接口。htmlwidgets for R 作為前端可視化(for 前端工程師)和數(shù)據(jù)分析可視化(for 數(shù)據(jù)工程師)的橋梁,發(fā)揮了兩套技術(shù)領(lǐng)域之間的組合優(yōu)勢(shì)。截至到 2018-08-02,經(jīng)過(guò)兩年多的發(fā)展,目前 CRAN 上已經(jīng)有 101 個(gè)基于 htmlwidgets 開發(fā)的第三方包,參考 鏈接 。

實(shí)際數(shù)據(jù)運(yùn)營(yíng)分析過(guò)程中,可以固化常規(guī)的圖表展現(xiàn)和可視化分析過(guò)程,實(shí)現(xiàn)代碼復(fù)用,提高開發(fā)效率。下圖是美團(tuán)到店餐飲技術(shù)部數(shù)據(jù)團(tuán)隊(duì)積累的部分可視化組件示例:

 

美團(tuán)R語(yǔ)言數(shù)據(jù)運(yùn)營(yíng)實(shí)戰(zhàn)

圖一 可視化組件示例

基于可視化組件庫(kù),一個(gè)可視化過(guò)程只需要一行代碼即可完成,能極大提升開發(fā)效率。上圖中最后的四象限矩陣分析示例圖的代碼如下:

  1. vis_4quadrant(iris, 'Sepal.Length''Petal.Length', label = 'Species', tooltip = 'tooltip', title = '', xtitle = '萼片長(zhǎng)度', ytitle = '花瓣長(zhǎng)度', pointSize = 1, annotationSize = 1) 

茲再附四象限矩陣分析可視化組件的函數(shù)聲明:

 

  1. vis_4quadrant <- function(df, x, y, 
  2.   label = '', tooltip = '', title = '', xtitle = '', ytitle = ''
  3.   showLegend = T, jitter = T, centerType = 'mean'
  4.   pointShape = 19, pointSize = 5, pointColors = collocatcolors2, 
  5.   lineSize = 0.4, lineType = 'dashed', lineColor = 'black'
  6.   annotationFace = 'sans serif', annotationSize = 5, annotationColor = 'black', annotationDeviationRatio = 15, 
  7.   gridAnnotationFace = 'sans serif', gridAnnotationSize = 6, gridAnnotationColor = 'black', gridAnnotationAlpha = 0.6, 
  8.   titleFace = 'sans serif', titleSize = 12, titleColor = 'black'
  9.   xyTitleFace = 'sans serif', xyTitleSize = 8, xyTitleColor = 'black'
  10.   gridDesc = c('A 區(qū)''B 區(qū)''C 區(qū)''D 區(qū)'), dataMissingInfo = '數(shù)據(jù)不完整', renderType = 'widget') { 
  11.  
  12.   # 繪制分組散點(diǎn)圖 
  13.   # 
  14.   # Args: 
  15.   #   df: 數(shù)據(jù)框;必要字段;需要進(jìn)行圖形繪制的數(shù)據(jù),至少應(yīng)該有三列 
  16.   #   x: 字符串;必要字段;映射到 X 軸的列名,對(duì)應(yīng) df 的某一列,此列必須是數(shù)值類型或日期類型 
  17.   #   y: 字符串;必要字段;映射到 Y 軸的列名,對(duì)應(yīng) df 的某一列 
  18.   #   label: 字符串;映射到點(diǎn)上的文字注釋 
  19.   #   tooltip: 字符串;映射到點(diǎn)上的懸浮信息 
  20.   #   title: 字符串;標(biāo)題 
  21.   #   xtitle: 字符串;X 軸標(biāo)題 
  22.   #   ytitle: 字符串;Y 軸標(biāo)題 
  23.   #   showLegend: bool;定義分區(qū)圖例是否展示 
  24.   #   jitter: bool;定義是否擾動(dòng) 
  25.   #   centerType: 字符串;定義中心點(diǎn)類型,mean 代表平均值,median 代表中位數(shù) 
  26.   #   pointShape: 整形;定義點(diǎn)型 
  27.   #   pointSize: 數(shù)值;定義點(diǎn)大小 
  28.   #   lineSize: 數(shù)值;定義線寬 
  29.   #   lineType: 字符串;定義線型 
  30.   #   lineColor: 字符串;定義線色 
  31.   #   annotationFace: 字符串;定義注釋字體 
  32.   #   annotationSize: 數(shù)值;定義注釋字體大小 
  33.   #   annotationColor: 字符串;定義注釋字體顏色 
  34.   #   annotationDeviationRatio: 數(shù)值;定義注釋文本向上偏移系數(shù) 
  35.   #   gridAnnotationFace: 字符串;定義網(wǎng)格注釋字體 
  36.   #   gridAnnotationSize: 數(shù)值;定義網(wǎng)格注釋字體大小 
  37.   #   gridAnnotationColor: 字符串;定義網(wǎng)格注釋字體顏色 
  38.   #   gridAnnotationAlpha: 數(shù)值;定義網(wǎng)格注釋文本透明度 
  39.   #   titleFace: 字符串;定義標(biāo)題字體 
  40.   #   titleSize: 數(shù)值;定義標(biāo)題字體大小 
  41.   #   titleColor: 字符串;定義標(biāo)題字體顏色 
  42.   #   xyTitleFace: 字符串;定義 X、Y 軸標(biāo)題字體 
  43.   #   xyTitleSize: 數(shù)值;定義 X、Y 軸標(biāo)題字體大小 
  44.   #   xyTitleColor: 字符串;定義 X、Y 軸標(biāo)題字體顏色 
  45.   #   gridDesc: 長(zhǎng)度為 4 的字符串向量 
  46.   #   dataMissingInfo: 字符串;數(shù)據(jù)問(wèn)題提示文本 
  47.   #   renderType: 字符串;定義渲染結(jié)果類型,widget 對(duì)應(yīng) htmlwidget 組件,html 對(duì)應(yīng) html 內(nèi)容 
  48.  
  49.   #   代碼實(shí)現(xiàn)略 

3.3 可重復(fù)性數(shù)據(jù)分析

數(shù)據(jù)運(yùn)營(yíng)分析往往是一個(gè)重復(fù)性的、重人工參與的過(guò)程,最終會(huì)落地一套數(shù)據(jù)分析框架,這套數(shù)據(jù)分析框架適配具體的數(shù)據(jù),用于支持企業(yè)數(shù)據(jù)決策。

RStudio 通過(guò) rmarkdown + knitr 的方式提供了一套基于文學(xué)編程的數(shù)據(jù)分析報(bào)告產(chǎn)出方案,開發(fā)者可以將 R 代碼嵌入 Markdown 文檔中執(zhí)行并得到渲染結(jié)果(渲染結(jié)果可以是 HTML、PDF、Word 文檔格式),實(shí)際數(shù)據(jù)分析過(guò)程中,開發(fā)者最終能形成一套數(shù)據(jù)分析模版,每次適配不同的數(shù)據(jù),就能產(chǎn)出一份新的數(shù)據(jù)分析報(bào)告。

rmarkdown 本身具備簡(jiǎn)單的頁(yè)面布局能力并可以使用 flexdashboard 進(jìn)行擴(kuò)展,因此這套方案不僅能實(shí)現(xiàn)重復(fù)性分析過(guò)程,還能實(shí)現(xiàn)分析結(jié)果的高度定制化展示,可以使用 HTML、CSS、JavaScript 前端三大件對(duì)數(shù)據(jù)分析報(bào)告進(jìn)行展示和交互的細(xì)節(jié)調(diào)整。最終實(shí)現(xiàn)人力的節(jié)省和數(shù)據(jù)分析結(jié)果的快速、高效產(chǎn)出。

四、R 服務(wù)化改造

4.1 R 服務(wù)化框架

R 本身既是一門語(yǔ)言、也是一個(gè)跨平臺(tái)的操作環(huán)境,具備強(qiáng)大的數(shù)據(jù)處理、數(shù)據(jù)分析、和數(shù)據(jù)可視化能力。除了在個(gè)人電腦的 Windows/MacOS 環(huán)境中上充當(dāng)個(gè)人統(tǒng)計(jì)分析工具外,也可以運(yùn)行在 Linux 服務(wù)環(huán)境中,因此可以將 R 作為分析展現(xiàn)引擎,外圍通過(guò) Java 等系統(tǒng)開發(fā)語(yǔ)言完成緩存、安全檢查、權(quán)限控制等功能,開發(fā)企業(yè)報(bào)表系統(tǒng)或數(shù)據(jù)分析(挖掘)框架,而不僅僅只是將 R 作為一個(gè)桌面軟件。

企業(yè)報(bào)表系統(tǒng)或數(shù)據(jù)分析(挖掘)框架設(shè)計(jì)方案如下圖所示:

 

美團(tuán)R語(yǔ)言數(shù)據(jù)運(yùn)營(yíng)實(shí)戰(zhàn)

圖二 R 服務(wù)化框架

4.2 foreach + doParallel 多核并行方案

作為一門統(tǒng)計(jì)學(xué)家開發(fā)的解釋性語(yǔ)言,R 運(yùn)行的是 CPU 單核上的單線程程序、并且需要將全部數(shù)據(jù)加載到內(nèi)存進(jìn)行處理,因此和 Java、Python 等系統(tǒng)語(yǔ)言相比,計(jì)算性能是 R 的軟肋。對(duì)于大數(shù)據(jù)集合的計(jì)算場(chǎng)景,需要盡量將數(shù)據(jù)計(jì)算部分通過(guò) Hive、Kylin 等分布式計(jì)算引擎完成,盡量讓 R 只處理結(jié)果數(shù)據(jù)集;另外也可以通過(guò) doParallel + foreach 方案,通過(guò)多核并行提升計(jì)算效率,代碼示例如下:

 

  1. library(doParallel) 
  2. library(foreach) 
  3. registerDoParallel(cores = detectCores()) 
  4.  
  5. vis_process1  <- function() { 
  6.     # 可視化過(guò)程1 ... 
  7. vis_process2  <- function() { 
  8.     # 可視化過(guò)程2 ... 
  9. data_process1 <- function() { 
  10.     # 數(shù)據(jù)處理過(guò)程1 ... 
  11. data_process2 <- function() { 
  12.     # 數(shù)據(jù)處理過(guò)程2 ... 
  13.  
  14. processes <- c('vis_process1''vis_process2''data_process1''data_process2'
  15. process_res <- foreach(i = 1:length(process), .packages = c('magrittr')) %dopar% { 
  16.     do.call(processes[i], list()) 
  17.  
  18. vis_process1_res  <- process_res[[1]] 
  19. vis_process2_res  <- process_res[[2]] 
  20. data_process1_res <- process_res[[3]] 
  21. data_process2_res <- process_res[[4]] 

4.3 圖形化數(shù)據(jù)報(bào)告渲染性能

在數(shù)據(jù)分析過(guò)程中,R 最重要的是充當(dāng)圖形引擎的角色,因此有必要了解其圖形渲染性能。針對(duì)主流的基于 rmarkdown + flexdashboard 的數(shù)據(jù)分析報(bào)告渲染方案,其性能測(cè)試結(jié)果如下:

系統(tǒng)環(huán)境:

  • 4 核 CPU,8 G 內(nèi)存,2.20GHz 主頻。
  • Linux version 3.10.0-123.el7.x86_64。

測(cè)試方法:

測(cè)試在不同并發(fā)度下、不同復(fù)雜度的渲染模式下,重復(fù)渲染 100 次的耗時(shí)。

測(cè)試結(jié)果:

 

美團(tuán)R語(yǔ)言數(shù)據(jù)運(yùn)營(yíng)實(shí)戰(zhàn)

根據(jù)測(cè)試結(jié)果可知:

單應(yīng)用平均渲染時(shí)長(zhǎng)在 0.74s 以上,具體的渲染時(shí)長(zhǎng)視計(jì)算復(fù)雜度而定(可以通過(guò)上節(jié)介紹的“foreach + doParallel 多核并行方案 ”加快處理過(guò)程)。根據(jù)經(jīng)驗(yàn),大部分應(yīng)用能在秒級(jí)完成渲染。

由于單核單線程模式所限,當(dāng)并發(fā)請(qǐng)求超過(guò) CPU 核數(shù)時(shí),渲染吞吐量并不會(huì)相應(yīng)提升。需要根據(jù)實(shí)際業(yè)務(wù)場(chǎng)景匹配對(duì)應(yīng)的服務(wù)端機(jī)器配置,并在請(qǐng)求轉(zhuǎn)發(fā)時(shí)設(shè)置并發(fā)執(zhí)行上限。對(duì)于內(nèi)部運(yùn)營(yíng)性質(zhì)的數(shù)據(jù)系統(tǒng),單臺(tái) 4 核 8 G 機(jī)器基本能滿足要求。

五、R 在美團(tuán)數(shù)據(jù)產(chǎn)品中的落地實(shí)踐

美團(tuán)到店餐飲數(shù)據(jù)團(tuán)隊(duì)從 2015 年開始逐步將 R 作為數(shù)據(jù)產(chǎn)品的輔助開發(fā)語(yǔ)言,截至 2018 年 8 月,已經(jīng)成功應(yīng)用在面向管理層的日周月數(shù)據(jù)報(bào)告、面向數(shù)據(jù)倉(cāng)庫(kù)治理的分析工具、面向內(nèi)部運(yùn)營(yíng)與分析師的數(shù)據(jù) Dashboard、面向大客戶銷售的品牌商家數(shù)據(jù)分析系統(tǒng)等多個(gè)項(xiàng)目中。目前所有的面向部門內(nèi)部的定制式分析型產(chǎn)品,都首選使用 R 進(jìn)行開發(fā)。

另外我們也在逐步沉淀 R 可視化與分析組件、開發(fā)基于 R 引擎的配置化 BI 產(chǎn)品開發(fā)框架,以期進(jìn)一步降低 R 的使用門檻、提升 R 的普及范圍。

下圖是美團(tuán)到店餐飲數(shù)據(jù)團(tuán)隊(duì)在數(shù)據(jù)治理過(guò)程中,使用 R 開發(fā)的 ETL 間依賴關(guān)系可視化工具:

 

美團(tuán)R語(yǔ)言數(shù)據(jù)運(yùn)營(yíng)實(shí)戰(zhàn)

圖三 ETL 間依賴關(guān)系可視化工具

六、結(jié)語(yǔ)

綜上所述,R 可以在企業(yè)數(shù)據(jù)運(yùn)營(yíng)實(shí)踐中扮演關(guān)鍵技術(shù)杠桿,但作為一門面向統(tǒng)計(jì)分析的領(lǐng)域語(yǔ)言,在很長(zhǎng)一段時(shí)間,R 的發(fā)展主要由統(tǒng)計(jì)學(xué)家驅(qū)動(dòng)。隨著近年的數(shù)據(jù)爆發(fā)式增長(zhǎng)與應(yīng)用浪潮,R 得到越來(lái)越多工業(yè)界的支持,譬如微軟收購(gòu)基于 R 的企業(yè)級(jí)數(shù)據(jù)解決方案提供商 Revolution Analytics、在 SQL Server 2016 集成 R、并從 Visual Studio 2015 開始正式通過(guò) RTVS 集成了 R 開發(fā)環(huán)境,一系列事件標(biāo)志著微軟在數(shù)據(jù)分析領(lǐng)域?qū)?R 的高度重視。

在國(guó)內(nèi),由 統(tǒng)計(jì)之都 發(fā)起的 中國(guó) R 會(huì)議 ,從 2008 年起已舉辦了 11 屆,推動(dòng)了 R 用戶在國(guó)內(nèi)的發(fā)展壯大。截至 2018 年 8 月,美團(tuán)的 R 開發(fā)者大致在 200 人左右。但相比 Java/Python 等系統(tǒng)語(yǔ)言,R 的用戶和應(yīng)用面仍相對(duì)狹窄。

作者撰寫本文的目的,也是希望給從事數(shù)據(jù)相關(guān)工作的同學(xué)們一個(gè)新的、更具優(yōu)勢(shì)的可選項(xiàng)。

關(guān)于作者

喻燦,美團(tuán)到店餐飲技術(shù)部數(shù)據(jù)系統(tǒng)與數(shù)據(jù)產(chǎn)品團(tuán)隊(duì)負(fù)責(zé)人,2015 年加入美團(tuán),長(zhǎng)期從事數(shù)據(jù)平臺(tái)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)應(yīng)用方面的開發(fā)工作。從 2013 年開始接觸 R,在利用 R 快速滿足業(yè)務(wù)需求和節(jié)省研發(fā)成本上,有一些心得和產(chǎn)出。同時(shí)也在美團(tuán)研發(fā)和商業(yè)分析團(tuán)隊(duì)中積極推動(dòng) R 的發(fā)展。

責(zé)任編輯:未麗燕 來(lái)源: 美團(tuán)技術(shù)團(tuán)隊(duì)
相關(guān)推薦

2020-02-12 14:05:41

系統(tǒng)緩存架構(gòu)

2022-08-09 09:18:47

優(yōu)化實(shí)踐

2015-05-28 09:54:33

美團(tuán)docker容器

2023-11-26 17:48:00

營(yíng)銷策略

2016-11-27 20:43:26

云計(jì)算迭代

2013-08-20 13:11:58

技術(shù)美團(tuán)

2017-06-01 10:52:35

互聯(lián)網(wǎng)

2018-04-23 09:50:54

2022-03-03 16:45:02

美團(tuán)述職反饋

2020-12-21 10:03:32

大數(shù)據(jù)美團(tuán)技術(shù)

2019-05-29 10:42:06

大數(shù)據(jù)IT人工智能

2015-09-15 09:58:05

美團(tuán)技術(shù)支持云服務(wù)

2020-03-23 12:58:34

美團(tuán)公有云互聯(lián)網(wǎng)

2017-09-18 01:21:05

美團(tuán)IDC集群銳捷網(wǎng)絡(luò)

2019-08-23 13:10:39

美團(tuán)點(diǎn)評(píng)Kubernetes集群管理

2021-06-21 11:22:29

數(shù)據(jù)架構(gòu)實(shí)踐

2018-07-20 10:18:05

走進(jìn)美團(tuán)工程師文化

2021-03-19 09:37:30

運(yùn)營(yíng)商外交部中國(guó)聯(lián)通

2012-04-10 15:13:42

微軟Windows Azu數(shù)據(jù)中心

2016-04-12 17:12:29

機(jī)器學(xué)習(xí)數(shù)據(jù)清洗美團(tuán)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)