写 R 包教程

server/2024/10/23 20:03:28/

R · R 包开发 | 保姆级教程-CSDN博客

https://www.prestevez.com/post/r-package-tutorial/

1、加载开发所需 R 包

library(usethis)

library(devtools)

library(roxygen2)

2、在当前工作路径创建 R 包

usethis::create_package("myRpkg")      # 在当前路径创建 myRpkg/ 文件夹(包框架)

3、打开项目文件

# 进入 myRpkg/ 目录

# 打开 myRpkg.Rproj

4、写函数及函数注释框架

#  1、在 myRpkg/R/ 下创建 R 脚本

#  2、写好函数后光标放在函数内部

#  3、菜单栏--code--Insert Roxygen Skeleton

#          或

#       快捷键 Ctrl + Alt + Shift +R

5、引用 R 包

# 当我们的包依赖于其它包/函数时,需要说明,以在函数安装及调用过程中正确处理

# 用法

# usethis::use_package(package = "<packages name>",

#                                                        type = "<type>",

#                                                        min_version)

# type: Imports、Depends 或 Suggests

# 1、只需要引用包中的某个函数,在你的函数中需 通过:package::fun() 使用

usethis::use_package(package = "<packages name>", type = "Imports")

# 2、完全依赖于某个包,安装时会自动下载

usethis::use_package(package = "<packages name>", type = "Depends")

#  3、建议下载 (安装过程中不会安装此包),通常是代码示例需要

usethis::use_package(package = "<packages name>", type = "Suggests")

6、封装 R 包

# 1、生成文档

#  即从函数的代码和注释中生成标准化的帮助文档文件、以及 namespace 文件

devtools::document()

# 2、构建

#  即将以上所有文件,以及各部分关系构建成一个可供使用的 R包,输出在当前工作路径

devtools::build()

# 3、安装

#  菜单栏 --- build --- Install Package

# 此方法不生成安装包(tar.gz)

现在就可以使用了!!


http://www.ppmy.cn/server/134243.html

相关文章

网易面试:请设计一个高可用性的软件架构,说明设计思路

有一位粉丝留言说&#xff0c;他前几年面试网易的研发时&#xff0c;面试官问到这样一个问题&#xff1a;**你怎么设计一个高可用性的架构&#xff1f;**当时这位粉丝列举了集群、数据库主从等方面&#xff0c;但是没有说全&#xff0c;面试结果不理想。应这位粉丝的要求&#…

TCP 全连接队列与 tcpdump 抓包

TCP 相关实验 理解 listen 的第二个参数 基于刚才封装的 TcpSocket 实现以下测试代码对于服务器, listen 的第二个参数设置为 1, 并且不调用 accept test_server.cc C #include "tcp_socket.hpp" int main(int argc, char* argv[]) {if (argc ! 3) {printf("…

`RunUMAP` 函数在 Seurat 中可以使用不同的数据进行计算

RunUMAP 函数在 Seurat 中可以使用不同的数据进行计算&#xff0c;具体取决于您传递给它的参数。即使没有显式地运行 FindNeighbors&#xff0c;RunUMAP 仍然可以计算 UMAP&#xff0c;因为它会自动构建邻居图&#xff08;neighbor graph&#xff09;。以下是详细解释&#xff…

Ubuntu20.04安装MySQL 设置root远程登录权限

1、查看版本 lsb_release -a 2、安装Mysql sudo apt update sudo apt install mysql-server 2.1、 常用命令 2.1.1、查看状态 sudo systemctl status mysql 2.1.2、停止服务 sudo systemctl stop mysql sudo systemctl status mysql 2.1.3、启用服务 sudo service mysql star…

复习:React 中的 Diff 算法,原理是什么

React中的Diff算法,其原理主要用于比较新旧虚拟DOM树的差异,并生成更新补丁以最小化DOM操作。以下是React Diff算法原理的详细解释: 一、Diff算法的基本概念 Diff算法,即差异查找算法,在React中主要用于计算虚拟DOM中真正变化的部分,并只针对该部分进行原生DOM操作,而…

[申请] 准备 2024.10.20

&#x1f4dd; 准备工作细节 具体的申请准备内容&#xff1a; 推荐信&#xff1a;选择合适的推荐人至关重要&#xff01;教授与你的关系、学术匹配度、他/她的影响力都是需要考虑的因素。要问自己几个问题&#xff0c;比如&#xff1a; 哪位教授对我的工作印象深刻&#xff1…

深入理解 KMP 算法

《深入理解 KMP 算法》 在计算机科学中&#xff0c;字符串匹配是一个常见且重要的问题&#xff0c;而 KMP&#xff08;Knuth - Morris - Pratt&#xff09;算法则是一种高效的字符串匹配算法。 一、KMP 算法的背景 在传统的字符串匹配算法中&#xff0c;当遇到不匹配的字符时…

端盘子问题(二分查找+广度优先)

题目描述 终于中午放学铃声打响了&#xff0c;小明想要尽快地前往食堂打自己最喜欢吃的菜。小明觉得能打到喜欢吃的菜越多越好&#xff0c;他会准备好若干个盘子再出发&#xff0c;带了几个盘子就打几份菜。但是一路上人群拥挤程度不同&#xff0c;如果太过拥挤&#xff0c;小…