這篇“r語言的包有哪些”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“r語言的包有哪些”文章吧。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括陽明網(wǎng)站建設(shè)、陽明網(wǎng)站制作、陽明網(wǎng)頁制作以及陽明網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,陽明網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到陽明省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
一. 概述
對(duì)于R用戶而言,想找到所需要的R包都是一件極為麻煩的事情!目前,CRAN已經(jīng)收錄超過13,000個(gè)R包,而且已每月200左右的速度增加。但是R包的命名一般都是根據(jù)作者喜好,缺少針對(duì)性信息,使得通過名稱查詢變得低效。
針對(duì)該問題,R包的開發(fā)者也提供了一些有用的工具,以下針對(duì)該方法做簡單介紹。
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() 支持通過關(guān)鍵詞搜素CRAN上所有R包的元數(shù)據(jù)。
假如要進(jìn)行Permutation Tests(置換檢驗(yàn)),可以輸入你能想到的、最直接的搜索內(nèi)容,比如coin(Thomas Leeper提到過的一個(gè)置換檢驗(yàn)的例子中使用了coin包),這也是一個(gè)很清晰的暗示,你期望在所有結(jié)果中找到帶有coin關(guān)鍵詞的包。
不幸的是,這個(gè)軟件包非常新,而且沒有詳細(xì)記錄。目前尚不清楚如何計(jì)算SCORE,DOWNL_TOTAL充滿了NAs。 但該功能似乎確實(shí)找到了包。 請(qǐng)注意,findPackage()允許用戶設(shè)置權(quán)重參數(shù),該參數(shù)會(huì)影響搜索“如何命中包的標(biāo)題,簡短描述和長描述”。
下一行代碼只選擇我們將使用的列。
pt_pkg <- select(pt_pkg, NAME, DESC_SHORT)
現(xiàn)在我們有一個(gè)感興趣的包列表,最好能夠指出所選包的質(zhì)量和實(shí)用性。 有用性的自然衡量標(biāo)準(zhǔn)是下載包的次數(shù)。 為此,我們轉(zhuǎn)向dlstats包中的cran_stats()函數(shù)。 此函數(shù)將包名稱向量作為輸入,查詢RStudio下載日志,并返回一個(gè)數(shù)據(jù)框,列出每個(gè)包的月份下載次數(shù)。
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
只需進(jìn)行一些整理就可以生成一個(gè)數(shù)據(jù)框,其中列出了每個(gè)包在其生命周期內(nèi)的總下載量。
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
##
## 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
正如預(yù)期的那樣,coin已經(jīng)排到了榜單的首位。 隨著時(shí)間的推移繪制下載量表明該軟件包在過去五年中越來越受歡迎,看起來人們?cè)谶^去一年左右的時(shí)間里進(jìn)行了大量的置換檢驗(yàn)。
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))
同時(shí),衡量R包質(zhì)量和可靠性的另一種方法是查看有多少其他軟件包依賴它。 這些包將在包的CRAN頁面上列為“反向依賴”和“反向?qū)搿?,通過鏈接(https://cran.r-project.org/package=coin),我們看到coin頁面上的這些字段中列出了24個(gè)包。
同樣地,了解作者的背景、編寫其他R包的經(jīng)驗(yàn)、可能與之合作的著名R開發(fā)人員等信息,也有助于評(píng)估是否給出新發(fā)現(xiàn)的包是值得一試的。 上面的相同鏈接也顯示了包的作者。 檢查R項(xiàng)目的貢獻(xiàn)者頁面,我們看到兩位作者是R Core的成員,背景和合作者不可能更好。
在大多數(shù)情況下,背景調(diào)查并不那么容易。 但是,借助函數(shù)cranly::build_network(),可以輕松跟蹤作者的協(xié)作網(wǎng)絡(luò)。 在這里,我們看到Torston擁有廣泛的合作者網(wǎng)絡(luò)。
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"
知道最多產(chǎn)的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)
以上就是關(guān)于“r語言的包有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。