1. 程式人生 > >R︱Rstudio 1.0版本嚐鮮(R notebook、下載連結、sparkR、程式碼時間測試profile)

R︱Rstudio 1.0版本嚐鮮(R notebook、下載連結、sparkR、程式碼時間測試profile)

每每以為攀得眾山小,可、每每又切實來到起點,大牛們,緩緩腳步來俺筆記葩分享一下吧,please~

———————————————————————————


     2016年11月1日,RStudio 1.0版本正式釋出!這是自2011年2月RStudio釋出以來的第10個主要版本,也是更新最大的一次。主要亮點如下:

1.R Notebooks 的輔助工具(實時反饋結果,這個RMD做不來)

2.對sparklyr包的整合支援(R與Spark連線)

3.profvis包進行效能分析(程式碼執行步驟、程式碼執行時間)

4.基於readr/readxl/haven,優化資料讀取(任意修改載入行名、列名以及一些字串處理)

5.R Markdown的輔助工具(websites和bookdown包)

6.其他優化和bug修復

——部分內容參考自:R語言中文社群

(版本:RStudio-1.0.44)

————————————————————————————————————

一、R notebook

1、安裝問題

如果R的版本夠的話,需要預裝knitr,rmarkdown,同時你點選R notebook就會直接幫你載入。

但是另外一臺電腦在低版本的R中,3.1好像需要加裝tibble 1.0,並且嘗試了還是用不來,報錯:

tibble1.1 is required but 1.0 is available

會讓你check that getOption("repos")看看版本對不對,不夠我載入得對的tibble包,還是沒用,所以不知道是不是版本問題。

2、介面

有以下幾個新功能點:

為 R Markdown增添一個強大的創作引擎。在資料分析領域,R Notebooks 具有極為引人注目的優勢!

(1)實時反饋結果

可以看到程式碼執行到哪一步以及每步的執行結果;可以實時反饋結果,如果是傳統的R Markdown模式,每次修改都需要重新knit(你懂的)才能看到效果,如果遇到大規模的計算,需要等上半天。

而在R Notebooks中,你可以立即看到你執行的程式碼的效果。此處“效果”包括各種內容:控制檯列印結果、繪製圖表、資料框,甚至互動的HTML控制元件。


(2)相容其他語言

R Notebooks不僅可以執行R程式碼,還可以執行 Python, Bash, SQLor C++ (Rcpp).

直接用SQL語句,牛不牛!


(3)其他:豐富的輸出格式。即時檢視功能以及分享功能。

————————————————————————————————————

二、sparkR

Sparklyr 包是一個新的介面在R與Apache Spark. RStudio現在整合支援Spark和sparklyr包,主要工具如下:

1.建立和管理Spark連線

2.瀏覽表和Spark資料框的列

3.預覽Spark資料框的前1000行

一旦安裝好sparklyr包,你就可以發現Spark面板。這個面板包括一個新的連線,可以用於本地或者遠端spark例項連線。


連線成功後,你可以看淡Spark叢集中的資料表。


使用RStudio瀏覽Spark資料框中的資料。


————————————————————————————————————————————————————

三、Profiling with profvis——程式碼測試神器

每一步程式碼的耗時,有了這個無疑在寫函式的時候,就能夠很好地對自己的程式碼進行測試,提高編譯效率。筆者覺得這個乃是本次更新最大亮點。


在欄目中就有這個,你可以指定行進行測試,用"profile selected Line(s)"

也可以用"start profilling " 一步一步測試,直到你的程式碼截止,然後點選“stop profilling”


1、分析結果解讀一:程式碼執行步驟

在分析結果中主要有兩塊內容:上部,是程式碼本身,以及執行每一行所消耗的記憶體及時間;下部是一個火焰圖(什麼鬼),顯示R在執行過程中具體幹了啥,橫向從左到右代表時間軸,縱向代表了呼叫棧也就是當前呼叫的函式。


分析結果還有個Data頁,點開來是個呼叫樹,展示了各個函式呼叫的花費情況(仍然是記憶體及時間)。

2、分析結果解讀二:程式碼執行時間

分析結果還有個Data頁,點開來是個呼叫樹,展示了各個函式呼叫的花費情況(仍然是記憶體及時間)。


`a <- 1`程式碼可以調戲profvis

(本節內容來自公眾號子豹

————————————————————————————————————

四、資料輸入——新手資料匯入福音

RStudio 現在集成了readr/readxl/haven包,以提供高效的工具實現不同格式檔案的匯入。可以直接支援:


匯入的介面很親民,同時把呼叫的程式碼也顯示出來,新手可以來這看看,免去了很多麻煩!!


1、功能點一:指定輸入資料是否需要行名


於是我們指定跳過6行記錄,並且不要將第一行作為列名。

但是有些欄位明明是數字卻被顯示成了字串,可以直接在列名的下拉框裡進行修正。(來源公眾號:子豹)