您好,登錄后才能下訂單哦!
這篇“r語言的包有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“r語言的包有哪些”文章吧。
一. 概述
對于R用戶而言,想找到所需要的R包都是一件極為麻煩的事情!目前,CRAN已經收錄超過13,000個R包,而且已每月200左右的速度增加。但是R包的命名一般都是根據作者喜好,缺少針對性信息,使得通過名稱查詢變得低效。
針對該問題,R包的開發者也提供了一些有用的工具,以下針對該方法做簡單介紹。
cranly:你的R包管理工具
二. 使用說明
library(tidyverse)
## ── Attaching packages ─── tidyverse 1.2.1 ──
## ? ggplot2 2.2.1 ? purrr 0.2.4
## ? tibble 1.4.2 ? dplyr 0.7.5
## ? tidyr 0.8.1 ? stringr 1.3.1
## ? readr 1.1.1 ? forcats 0.3.0
## ── Conflicts ──── tidyverse_conflicts() ──
## ? dplyr::filter() masks stats::filter()
## ? dplyr::lag() masks stats::lag()
library(packagefinder)
library(dlstats)
library(cranly)
packagefinder在7月份收錄于CRAN,主要功能是幫助R使用者找到能夠解決燃眉之急的R包。packagefinder::findPackage() 支持通過關鍵詞搜素CRAN上所有R包的元數據。
假如要進行Permutation Tests(置換檢驗),可以輸入你能想到的、最直接的搜索內容,比如coin(Thomas Leeper提到過的一個置換檢驗的例子中使用了coin包),這也是一個很清晰的暗示,你期望在所有結果中找到帶有coin關鍵詞的包。
不幸的是,這個軟件包非常新,而且沒有詳細記錄。目前尚不清楚如何計算SCORE,DOWNL_TOTAL充滿了NAs。 但該功能似乎確實找到了包。 請注意,findPackage()允許用戶設置權重參數,該參數會影響搜索“如何命中包的標題,簡短描述和長描述”。
下一行代碼只選擇我們將使用的列。
pt_pkg <- select(pt_pkg, NAME, DESC_SHORT)
現在我們有一個感興趣的包列表,最好能夠指出所選包的質量和實用性。 有用性的自然衡量標準是下載包的次數。 為此,我們轉向dlstats包中的cran_stats()函數。 此函數將包名稱向量作為輸入,查詢RStudio下載日志,并返回一個數據框,列出每個包的月份下載次數。
pt_downloads <- cran_stats(pt_pkg$NAME)
dim(pt_downloads)
## [1] 2784 4
head(pt_downloads)
## start end downloads package
## 4485 2018-05-01 2018-05-31 52 permutes
## 4544 2018-06-01 2018-06-30 89 permutes
## 4603 2018-07-01 2018-07-31 92 permutes
## 4662 2018-08-01 2018-08-31 74 permutes
## 4721 2018-09-01 2018-09-30 227 permutes
## 4780 2018-10-01 2018-10-22 142 permutes
只需進行一些整理就可以生成一個數據框,其中列出了每個包在其生命周期內的總下載量。
top_downloads <- pt_downloads %>% group_by(package) %>%
summarize(downloads = sum(downloads)) %>%
arrange(desc(downloads))
head(top_downloads,10)
## # A tibble: 10 x 2 ## package downloads
## <fct> <int>
## 1 coin 1103426
## 2 exactRankTests 137674
## 3 RVAideMemoire 108837
## 4 perm 97071
## 5 logcondens 83033
## 6 HardyWeinberg 55735
## 7 biotools 47694
## 8 smacof 45257
## 9 SNPassoc 38920
## 10 broman 30956
正如預期的那樣,coin已經排到了榜單的首位。 隨著時間的推移繪制下載量表明該軟件包在過去五年中越來越受歡迎,看起來人們在過去一年左右的時間里進行了大量的置換檢驗。
top_pkgs <- pt_downloads %>% filter(package %in% top_downloads$package[1:3])
ggplot(top_pkgs, aes(end, downloads, group=package, color=package)) + geom_line() + geom_point(aes(shape=package))
同時,衡量R包質量和可靠性的另一種方法是查看有多少其他軟件包依賴它。 這些包將在包的CRAN頁面上列為“反向依賴”和“反向導入”,通過鏈接(https://cran.r-project.org/package=coin),我們看到coin頁面上的這些字段中列出了24個包。
同樣地,了解作者的背景、編寫其他R包的經驗、可能與之合作的著名R開發人員等信息,也有助于評估是否給出新發現的包是值得一試的。 上面的相同鏈接也顯示了包的作者。 檢查R項目的貢獻者頁面,我們看到兩位作者是R Core的成員,背景和合作者不可能更好。
在大多數情況下,背景調查并不那么容易。 但是,借助函數cranly::build_network(),可以輕松跟蹤作者的協作網絡。 在這里,我們看到Torston擁有廣泛的合作者網絡。
p_db <- tools::CRAN_package_db()
clean_p_db <- clean_CRAN_db(p_db)
author_net <- build_network(object = clean_p_db, perspective = "author")
plot(author_net, author = "Torsten Hothorn", exact = FALSE)
cranly collaboration network
CRAN database version
Mon, 22 Oct 2018, 11:52
Author names with
"Torsten Hothorn"
Package names with
"Inf"
知道最多產的CRAN包作者是誰也是有幫助的。
author_summary <- summary(author_net)
## Warning in closeness(cranly_graph, normalized = FALSE): At centrality.c:
## 2784 :closeness centrality is not well-defined for disconnected graphs
plot(author_summary)
以上就是關于“r語言的包有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。