[原]基于RStudio Webinars的R語言教程匯總

python007 8年前發布 | 18K 次閱讀 RStudio

來自: https://segmentfault.com/a/1190000004506149

概述

本文根據 Rstudio Webinars 的教程資源對Rstudio流的R語言教程做一個匯總,可以看到Rstudio對統計報告的Web化和工程化做了大量貢獻。感謝Rstudio的眾多工程師在開源的道路上的貢獻!

謝溢輝:LaTex/Word的統計報告大逃亡之Rmarkdown生態

在可交互、可復用的統計報告中,謝溢輝將介紹一眾R包,包括 knitr、rmarkdown、htmlwidgets、DT、leaflet以及shiny。

快速標準的論文書寫

# $something$ 或者 $$something$$ 可以解決數學公式的問題

利用 bib 文件和[@something] 可以解決引用的問題

同樣的,你也可以根據一些機構要求引入標準的模板。</pre>

屏蔽源碼

# ```{r echo=F}屏蔽源代碼

```{r, fig.width=5, fig.height=4} 設置配圖大小

腳注</pre>

代碼段內存共享

  • 利用 cache 選項復用代碼和數據

Sys.sleep(5)
rnorm(1)

輸出其他語言代碼

  • 利用 engine 選項選擇代碼引擎,驅動python、R、scala、Rcpp、bash、perl、node等

x = 'hello, python
world!'
print(x)
print(x.split(' '))

交互式文檔

  • 利用 yaml 配置中的 runtime 選項

---
author: Harry Zhu
output: html_document
runtime: shiny
---

同理,你也可以選擇輸出slide、pdf或者word,你甚至可以給html定制一個css皮膚。

Hadley Wickham:R與大數據共舞

R是一門為小數據探索和開發設計的語言,但在生產中R和大數據在一起還能發揮作用嗎? 我們定義數據量大于單機內存的數據為大數據。讓我們對比一下大數據與小數據的生命周期。

一個小數據分析項目的生命周期:

  • 闡明:熟悉數據、模板解決方案

  • 開發:創建有效模型

  • 產品化:自動化與集成

  • 發布:社會化

一個大數據分析項目的生命周期:

  • 切片:抽取部分數據

  • 闡明:熟悉數據、模板解決方案

  • 開發:創建有效模型

  • 擴展:使用到整個數據集

  • 產品化:自動化與集成

  • 發布:社會化

dplyr與數據讀取

Package DBMS
src_sqlite() SQLite
src_mysql MySQL
src_postgres PostgreSQL
library(bigquery) src_bigquery() Google BigQuery

顯示SQL

show_query(clean)

中間緩存

collapse() 返回正在處理的結果

# 抽取 1% 的訓練數據
random <- clean %>%
 mutate(x = random()) %>%
 collapse() %>%
 filter(x <= 0.01) %>%
 select(-x) %>%
 collect()

數據存儲

copy_to() 根據本地的data frame 在數據庫創建一個表

# air為connection名稱,query5為data frame,"gains"為表名
copy_to(air, query5, name = "gains")

關閉連接

rm(air)

垃圾收集器

gc()</pre>

Hadley Wickham:ETL

本節將討論一個有效的數據分析/數據科學問題框架,包括:

  • 數據讀取 readr / httr / DBI

  • 數據清洗 tidyr / jsonlite

  • 數據處理 dplyr / rlist

  • 數據可視化 ggplot2 / ggvis

  • 數據建模 broom

broom:快速分析

install.packages("broom")

查看相關例子

browseVignettes(package="broom")</pre>

Hadley Wickham是RStudio的首席科學家,并兼任統計萊斯大學的兼職教授。他將一一介紹他認為你應該知道的各種R包,并概述大數據和R,但主要是解釋為什么他相信你不應該擔心大數據的問題。

garrettgman:packrat與虛擬化技術

你是否有過這樣與人合作開發的經歷:在自己機器上運行完美的R代碼,復制到另外一臺同事的機器上運行就有很多R包需要重新安裝,有的R包甚至依賴于不同的版本?現在,在不使用Docker或Vagrant等全局虛擬化技術的條件下,只需要運用packrat包,就可以保證你的R項目的依賴問題被很好的解決,一次運行,到處運行。

if(!require(packrat)){install.packages("packrat")}
getOption("repos") # 顯示代碼鏡像源
packrat:: bundle() # 打包當前環境并虛擬化
packrat:: unbundle(bundle="xxx.tar.gz",where=".") # 加載已經打包過的環境
packrat::opts$local.repos("~/R") # 設置本地repos為路徑
packrat::install_local("pryr") # 從本地安裝

Hadley Wickham:Git與團隊協作

團隊協作:利用Git 和 GitHub,你可以很輕松的與人協作,你不再需要用郵件附件來備份文檔,或者在Dropbox上為爭奪編輯權限而爭吵。相反,你可以獨立工作,最后只需要合并你們的成果就可以。

版本控制: Git 在我們制造重大錯誤時都允許我們回滾到之前的任意時間點。我們也可以回顧我們之前所做的一起歷史記錄,跟蹤bug的形成過程。

</div>

 本文由用戶 python007 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!