当前位置: 首页 » 综合知识 » it知识 » 正文

r语言的包有哪些

发布时间:2023-07-21 以下文章来源于网友投稿,内容仅供参考!

一. 概述

对于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 2022-05-01 2022-05-31        52 permutes 

## 4544 2022-06-01 2022-06-30        89 permutes 

## 4603 2022-07-01 2022-07-31        92 permutes 

## 4662 2022-08-01 2022-08-31        74 permutes 

## 4721 2022-09-01 2022-09-30       227 permutes 

## 4780 2022-10-01 2022-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 2022, 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)

  • • Linux Ecdsa密钥长度选择有何依据

    在Linux

  • • Linux Khook在内核监控中的应用如何

    Linux

  • • Linux Gsoap是否支持异步通信

    GSOAP是

  • • Linux Coremail如何提升用户体验

    提升Linu

  • • Linux Ecdsa算法有哪些局限性

    ECDSA

  • 哎呀音乐钢琴键盘学习《 钢琴主人训练营》 西瓜学琴
    郭蝈 陪练钢琴 30节课时 考级刚需 让孩子每一次练琴都是高质量的
    30天轻松学会五线谱 流行钢琴自学初级教程 牙牙学琴
    流行爵士钢琴实战技巧VIP课 - 继伟 哎呀音乐
    【海上钢琴师】原版 MT1990钢琴谱
    百首经典流行钢琴实战曲集 - 继伟
    雷费尔德电钢琴重锤88键专业考级儿童初学者数码电子钢琴家用
    小练咖 真人钢琴陪练 1v1服务 2999随时退 1课时50分钟 考级刚需
    雅马哈电钢琴88键重锤CLP735智能数码电子钢琴家用专业初学者考级
    【原装进口】Yamaha/雅马哈钢琴 b121 SC2原声静音钢琴
  • 珠海专业调钢琴
  • 天津宝坻区调钢琴
  • 天津静海区钢琴调音
  • 成都简阳市钢琴调律
  • 大连瓦房店市钢琴调音
  • 眉山调钢琴联系方式
  • 惠州大亚湾钢琴调琴师
  • 长治调琴师
  • 厦门湖里区钢琴调音师
  • 上海普陀区钢琴调音师