炼数成金 门户 商业智能 R语言 查看内容

cranly:你的R包管理工具

2018-7-23 14:24| 发布者: 炼数成金_小数| 查看: 24112| 评论: 0|原作者: 黄小伟 译|来自: R语言中文社区

摘要: cranly包支持分析CRAN上所有已收录的R包的相关数据,CRAN_package_db() 通过提取CRAN上12000多个R包的元数据,并以数据框的格式进行展示,可以方便的进行相关数据的处理,其中数据列的格式包括向量、列表等。

管理 工具

一. 概述
cranly包支持分析CRAN上所有已收录的R包的相关数据,CRAN_package_db() 通过提取CRAN上12000多个R包的元数据,并以数据框的格式进行展示,可以方便的进行相关数据的处理,其中数据列的格式包括向量、列表等。

二.基本操作
1. cran包数据获取

library('cranly')

p_db <- tools::CRAN_package_db()

dim(p_db) # 查看数据维度

## [1] 12635 65

matrix(names(p_db),ncol=2) # 以2列矩阵形式展示变量名称

## [,1] [,2] 

## [1,] "Package" "Collate.windows" 

## [2,] "Version" "Contact" 

## [3,] "Priority" "Copyright" 

## [4,] "Depends" "Date" 

## [5,] "Imports" "Description" 

## [6,] "LinkingTo" "Encoding" 

## [7,] "Suggests" "KeepSource" 

## [8,] "Enhances" "Language" 

## [9,] "License" "LazyData" 

## [10,] "License_is_FOSS" "LazyDataCompression"

## [11,] "License_restricts_use" "LazyLoad" 

## [12,] "OS_type" "MailingList" 

## [13,] "Archs" "Maintainer" 

## [14,] "MD5sum" "Note" 

## [15,] "NeedsCompilation" "Packaged" 

## [16,] "Additional_repositories" "RdMacros" 

## [17,] "Author" "SysDataCompression" 

## [18,] "Authors@R" "SystemRequirements" 

## [19,] "Biarch" "Title" 

## [20,] "BugReports" "Type" 

## [21,] "BuildKeepEmpty" "URL" 

## [22,] "BuildManual" "VignetteBuilder" 

## [23,] "BuildResaveData" "ZipData" 

## [24,] "BuildVignettes" "Published" 

## [25,] "Built" "Path" 

## [26,] "ByteCompile" "X-CRAN-Comment" 

## [27,] "Classification/ACM" "Reverse depends" 

## [28,] "Classification/ACM-2012" "Reverse imports" 

## [29,] "Classification/JEL" "Reverse linking to" 

## [30,] "Classification/MSC" "Reverse suggests" 

## [31,] "Classification/MSC-2010" "Reverse enhances" 

## [32,] "Collate" "MD5sum" 

## [33,] "Collate.unix" "Package"

cranly包是2018年3月份发布,很方便的分析包结构和作者关系,并寻找自己想要的R包。

2. R包网络关系
    构建R包的网络关系,并且可视化展示top 20被依赖的包。
package_db <- clean_CRAN_db(p_db) # 对p_db进行清洗、预处理

package_network <- build_network(package_db)

package_summaries <- summary(package_network)

plot(package_summaries, according_to = "n_imported_by", top = 20)

3. 计算R包的重要性
在cranly中,提供内置函数计算包的重要性或者依赖度,依靠page rank算法

plot(package_summaries, according_to = "page_rank", top = 20)

# 通过build_network函数可以查看作者的关系网络,并且可以展示与某位作者相关的网络关系

author_network <- build_network(object = package_db, perspective = "author")

plot(author_network, author = "JJ Allaire", exact = FALSE)

4. 构建包的依赖关系树
xts_tree <- build_dependence_tree(package_network, "xts")

plot(xts_tree)

5.寻找需要的R包
  package_with()通过预先设定关键词寻找相关R包,比如寻找带有“Bayes” or “MCMC” 关键词的R包
Bayesian_packages <- package_with(package_network, name = c("Bayes", "MCMC"))

plot(package_network, package = Bayesian_packages, legend=FALSE)

翻译:黄小伟,先后从事社交、游戏和金融的业务场景,目前就职于杭州网易

声明:文章收集于网络,如有侵权,请联系小编及时处理,谢谢!

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754
1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

热门文章

     

    GMT+8, 2018-12-15 12:09 , Processed in 0.085433 second(s), 24 queries .