我一直在寻找各种方法来查找有关R包的信息,但我最近才了解CRAN_package_db()了基本tools包中的函数。如果一位同事没有向我指出,我确信我永远不会自己找到它。

当被调用时,这个函数发送到由环境变量指定的CRAN镜像,R_CRAN_WEB并返回一个数据帧,其中包含有关CRAN上当前每个包的大量信息。它是元数据的宝库。

使用返回的信息可能需要一点数据纠缠。在这篇文章中,我将展示一些我准备好的关于我的rstudio :: conf 2018谈话的一些清理(但非常优雅)的版本,什么是一个伟大的R包?作为处理角色数据的一个例子。我有兴趣了解编写典型R包所需的协作感,以及感受其他包开发人员对包的适用性。我选择进行协作的代理是每个软件包列出的作者数量。我对其他软件包开发人员有用的代理是反向依赖和反向导入的联合。

我做的第一件事是选择数据框的一个子集来处理。

## Observations: 12,123## Variables: 6## $ Package"A3", "abbyyR", "abc", "abc.data", "ABC.RAP", "ABCanal...## $ Dep"R (>= 2.15.0), xtable, pbapply", "R (>= 3.2.0)", "R (...## $ ImpNA, "httr, XML, curl, readr, plyr, progress", NA, NA, ...## $ Aut"Scott Fortmann-Roe", "Gaurav Sood [aut, cre]", "Csill...## $ RDNA, NA, "abctools, EasyABC", "abc", NA, NA, NA, NA, NA...## $ RI NA, NA, "ecolottery", NA, NA, NA, NA, NA, NA, NA, NA, ...

请注意,在这篇文章中,我正在使用我刚刚讲话之前从CRAN提取的一个文件中的数据,但您应该没有任何问题CRAN_package_db()来获取更新的数据集。

接下来我做的是向数据集中添加两个新变量:DepImp依赖包和导入包RDRI的联合,以及反向联合依赖并反向导入包。

另外,事实证明,作者字段需要一些工作,以便从作者字符串中删除像“[aut,cre]”和“[ctb,cph]”这样的限定性文本。

一旦我有了一些干净的文本,我使用了以下代码的非常混乱的初步版本来获取我正在查找的计数数据。请注意,派生的特性DepImp以及RDRI需要的某些预处理与从我选择的其他特性中提取计数所需的预处理不同。在这里,我做了一件非常不整洁的事情,并创建了两个初步的数据框架 - 效率不高,但对我来说更容易完成和调试。

##      Package Aut Dep Imp RD RI DepImp RDRI## 1          A3  1  3  0  0  0      3    0## 2      abbyyR  1  1  6  0  0      7    0## 3        abc  4  6  0  2  1      6    3## 4    abc.data  4  1  0  1  0      1    1## 5    ABC.RAP  4  1  3  0  0      4    0## 6 ABCanalysis  3  1  1  0  0      2    0

一旦我有了清晰的数据,计算一些简单的统计数据就变得微不足道了。在这里,我们看到手段和中位数的数字很小,但是反向依赖和反向进口以及它们的联合的标准偏差反映了相当大的差异。

##  Features mean    sd median## 1      Aut 2.25  2.73      1## 2      Dep 1.53  1.57      1## 3      Imp 2.85  3.89      1## 4      RD 0.81  9.09      0## 5      RI 2.30 23.23      0## 6  DepImp 4.37  4.06      3## 7    RDRI 3.11 30.79      0

在A一目了然RDRI位数表明,这种变化是由于比较少的包。直方图表示很长的尾巴。

##  0%  25%  50%  75% 100%##    0    0    0    0 1239## Warning: Removed 4 rows containing non-finite values (stat_bin).## Warning: Removed 1 rows containing missing values (geom_bar).

对RDRI字段进行排序可找到前15个最集成的软件包。由此,我的意思是最依赖或由其他软件包导入的软件包。

##    Package Aut DepImp RDRI## 1      Rcpp  7      3 1239## 2      MASS  6      6 1157## 3      MASS  6      6 1157## 4  ggplot2  3    11 1149## 5    dplyr  5    12  716## 6    Matrix  13      7  680## 7    Matrix  13      7  680## 8      plyr  1      2  555## 9  stringr  2      3  500## 10  mvtnorm  9      3  483## 11 magrittr  1      0  454## 12 survival  2      7  434## 13 survival  2      7  434## 14 jsonlite  3      1  426## 15    httr  2      6  420

最后,查看作者领域的分位数和直方图给出了一些合作的想法。大多数软件包的作者少于三位,表明只有非常适度的协作。

##  0%  25%  50%  75% 100%##    1    1    1    3  97## Warning: Removed 9 rows containing non-finite values (stat_bin).

我希望提供的软件包元数据的简单可用性CRAN_package_db()将激发一些分析R软件包特性的认真工作。

R语言CRAN软件包Meta分析 1相关推荐

  1. R语言CRAN软件包Meta分析

    我一直在寻找各种方法来查找有关R包的信息,但我最近才了解CRAN_package_db()了基本tools包中的函数.如果一位同事没有向我指出,我确信我永远不会自己找到它. 当被调用时,这个函数发送到 ...

  2. 没有可用软件包 docker-compose。_R语言CRAN软件包Meta分析

    原文链接: http://tecdat.cn/?p=3050​tecdat.cn 我一直在寻找各种方法来查找有关R包的信息,但我最近才了解CRAN_package_db()了基本tools包中的函数. ...

  3. R语言教程:生存分析

    生存分析处理预测特定事件将要发生的时间.它也被称为故障时间分析或分析死亡时间.例如,预测患有癌症的人将存活的天数或预测机械系统将失败的时间. 命名为survival的R语言包用于进行生存分析.此包包含 ...

  4. R语言Kaplan-Meier绘制生存分析、Log-rank假设检验、Cox回归曲线实战案例:恶性黑色素瘤的术后数据生存分析

    R语言Kaplan-Meier绘制生存分析.Log-rank假设检验.Cox回归曲线实战案例:恶性黑色素瘤的术后数据生存分析 目录

  5. R语言rms包生存分析之限制性立方样条(RCS, Restricted cubic spline)分析详解实战:拟合连续性自变量和事件风险之间的关系:基于survival包lung数据

    R语言rms包生存分析之限制性立方样条(RCS, Restricted cubic spline)分析详解实战:拟合连续性自变量和事件风险之间的关系:基于survival包lung数据 目录

  6. R语言rms包生存分析之限制性立方样条(RCS, Restricted cubic spline)分析:拟合连续性自变量和事件风险之间的关系并绘制直方图、平滑曲线、双Y轴于同一个图像中

    R语言rms包生存分析之限制性立方样条(RCS, Restricted cubic spline)分析:拟合连续性自变量和事件风险之间的关系并绘制直方图.平滑曲线.双Y轴于同一个图像中 目录

  7. R语言CRAN不包含的安装包下载并手动使用RStudio进行安装实战:以下载VRPM包及绘制彩色列线图为例

    R语言CRAN不包含的安装包下载并手动使用RStudio进行安装实战:以下载VRPM包及绘制彩色列线图为例 目录

  8. R语言基础数据分析—单因素方差分析

    有了试验数据,我们就需要进行数据的处理与分析,而在试验设计中,通常分为单因素试验或者双因素试验.试验中要考察的指标称为试验指标,影响试验指标的条件称为因素,因素所处的状态称为水平,若试验中只有一个因素 ...

  9. 【R语言文本挖掘】:分析单词和文档频率——TF-IDF

    [R语言文本挖掘]:分析单词和文档频率--TF-IDF

最新文章

  1. 更改管理GPO的域控制器
  2. php实现tcp连接esp8266,ESP8266之TCP透传
  3. python mysqldb安装_解决centos7 安装MySQLdb-python 报错 方案
  4. 《WCF技术内幕》翻译25:第2部分_第5章_消息:创建一个消息(下)之MessageFault
  5. vue项目中简单进行axios封装及响应状态码提示!
  6. 挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?
  7. BetaMeow----利用机器学习做五子棋AI
  8. Android常用Adapter用例(二)
  9. 卷积运算和运算后特征图大小计算2
  10. springboot开启缓存_springBoot与缓存使用
  11. Win10中英文切换 win键+空格
  12. Activity高级学习
  13. SAP 采购订单入库——移动类型
  14. Unity 草的制作
  15. 定义一个电话簿,用人名查电话
  16. Redis BitMap结构实现签到、连续签到统计
  17. 快速排序---(面试碰到过好几次)
  18. 软件开发人员的职业发展规划
  19. 西三旗限价房之旗胜家园实景
  20. ubuntu下的截图和图像编辑软件推荐

热门文章

  1. 【MySQL】二进制分发安装
  2. 解决ajax回调函数无返回值得问题
  3. MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法
  4. 异步 HttpContext.Current 为空null 另一种解决方法
  5. 在使用pydelicious时出现HTTP Error 500: Internal Server Error的错误的解决方法:
  6. php Access-Control-Allow-Origin 解决跨域问题
  7. 在继续之前,如何暂停我的Shell脚本一秒钟?
  8. 为什么在Java中收到NoClassDefFoundError?
  9. 发行版,distutils,setuptools和distutils2之间的区别?
  10. 文件的属性 计算机知识,计算机基础知识文件的属性(二)