精选 | 2018年5月R新包推荐
作者:Joseph Rickert
翻译:黄小伟,先后从事游戏、社交及金融数据研究及应用,目前就职网易杭州
2018年5月份,共有约215个R新包收录于CRAN。R语言正在扩展它在传统统计和金融领域的优势,众多领域有分析和计算需求的人开始熟悉和应用这门语言。诸如:bioacoustics用于分析录音数据,treedater用于估计进化模型的时钟速率等。当我看到一位研究“古代和中世纪世界”的语言学家和学者的软件包时,我深信,R对计算机读写能力做出了独特的贡献。
本文选摘了40个R包加以功能简述,有需要的爱好者可以自行下载帮助文档并安装使用。本文主要包括以下几个类别:计算方法、数据、数据科学、金融、数学、机器学习、音乐、科学、统计、时间序列、工具和可视化等。
一. 计算方法
1. dqrng: 提供具有良好统计特性的快速随机数生成器,包括Mersenne-Twister的64位版本、pcg64、Xoroshiro128和Xoroshiro256.
2. optimParallel : 提供stats::optim()函数的并行化实现.
二. 数据
1. childesr: 实现对CHILDES的接口,它是一个开放式亲子互动记录库.
2. PetfindeR: 是Petfinder API的一个包装,支持与PetFinder数据库进行交互和数据提取,它是北美最大的在线搜索可领养动物和动物福利组织数据的数据库之一.
三. 数据科学
1. catch: 提供了对高维张量(多维数组)进行分类和变量选择的功能.
2. SemiSupervised: 实现了多个基于图的半监督学习算法.
3. spFSR : 根据Aksakalli和Malekipirbazari(2015)和Yenice(2018)等人的研究,提供通过同步扰动随机逼近(SPSA-FSR)执行特征选择和排序的功能.
四. 金融
1. PortfolioAnalytics: 提供投资组合分析的函数,包括投资组合优化的数值方法.
2. sparseIndexTracking: 基于Benidis等人 (2018)的文章,提供计算稀疏投资组合的函数,用于金融指数跟踪.
五. 数学
1. freegroup: 提供多个函数,支持进行抽象数学(抽象代数)的相关分析与应用,主要研究对象是代数结构.
2. ODEsensitivity: 提供使用ODEnetwork包对常微分方程(ODE)模型进行灵敏度分析的功能,支持模拟二阶ODE网络.
六. 音乐
1. stemmatoloty: 允许用户使用各种干细胞学方法(主要是Camps和Cafiero(2015年)建议的基于分歧的算法)从其变体中探索和分析文本或音乐传统的谱系.
七. 科学
1. bioacoustics: 提供分析录音和自动提取动物声音的功能,包括处理各种格式的音频录音(如WAV, WAC, MP3, ZC)、过滤有噪声的文件、检测和提取自动的声学特性以进行进一步的分析等.
2. epiphy: 提供一个用于分析植物流行疾病的工具箱和一个用于记录植物疾病强度数据的通用框架.
3. treedater: 提供使用各种演化模型估计共同祖先时间和分子时钟发生率的函数,参见Volz and Frost (2017).
4. RQEntangle: 提供函数来计算离散或连续的二分量子系统的施密特(Schmidt)分解.
八. 统计
1. glmmboot: 提供两个函数,为众多统计模型提供自助重采样功能.函数BootGlmm():如果存在随机效应,则执行块重采样;如果不存在,则执行大小写重采样.函数BootCI():将模型的输出转换为置信区间和p值.
2. glmmEP: 允许用户通过期望传播来解决广义线性混合模型分析,随机效应可以是任何合理的维度. 但是,只支持有一层嵌套的probit混合模型.
3. groupedSurv: 提供基于Rcpp的函数来计算分组时间事件数据的有效分数统计,参见Prentice和Gloeckler(1978).
4. modeldb: 提供使用dplyr后端来适应数据库内部模型操作的功能.
5. MLZ: 针对平均长度的总死亡率估计问题,提供估计函数和诊断工具,参见Gedamke和Hoenig(2006).
6. NFWdist: 为3D Navarro、Frenk & White (NFW)轮廓提供密度/分布函数、分位数函数和随机生成.
7. survBootOutliers: 在生存环境中提供三种新的基于一致性的异常值检测方法.
8. vinereg: 利用参数或非参数的pair-copulas实现D-vine分位数回归模型,参见Kraus and Czado (2017) and Schallhorn et al. (2017).
九. 时间序列
1. ASSA: 提供了用奇异谱分析对时间序列进行建模和分解的函数,参见Carvalho and Rua (2017) 和 Carvalho et al (2012).
2. DTWBI: 提供基于动态时间扭曲方法在时间序列中估算间隔的函数,参见Phan et al. (2017).
3. permutes: 使用置换测试方法,帮助确定用于分析稠密采样时间序列的最佳窗口,参见Maris&Oostenveld(2007).
十. 工具
1. bench: 针对R表达式,提供基准测试和分析执行时间的工具.
2. conflicted: 为R包的默认冲突解决策略提供替代方案.
3. diffdf: 提供函数,用于对比两个数据框.
4. pkgdown: 通过将文档、简介、README等转换为HTML,提供从源包生成网站的功能.
5. rtika: 提供从一千多个文件类型中提取文本或元数据的函数,使用Apache Tika生成纯文本或结构化XHTML内容.
6. tabulizer: 提供Tabula Java库的绑定,该库可以从PDF文档中提取表格数据.
7. shinytest: 支持使用无头浏览器对Shiny的应用程序进行自动测试.
8. vcr: 同名Ruby gem的一个端口,它允许用户记录测试套件HTTP请求,并在以后的运行中重播它们.
十一. 可视化
1. c3: 对C3.js可视化进行封装,支持所有类型的C3.js图形,同时应用于R Markdown和Shiny工具.
2. chromoMap: 提供人类染色体的交互式图形可视化,允许用户将染色体元素(如基因,SNPs等)映射到染色体图上,并引入“染色体热图”.
3. ExPanDaR: 为探索性面板数据分析提供基于shiny的前端和一组功能,作为一个基于web的应用程序,它允许用户评估经验证据的健壮性,而不提供对底层数据的访问.
4. ggdistribute: 对ggplot2进行扩展,绘制后验或其他类型的单峰分布.
5. r2d3: 提供一系列工具,支持利用D3库进行数据的动态和交互式的可视化.
说明:限于个人水平,错误在所难免,欢迎批评指正、交流!