当前位置: 首页 > news >正文

写 R 包教程

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)

现在就可以使用了!!

相关文章:

写 R 包教程

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") # 在当前路径创建 my…...

【java】数组(超详细总结)

目录 一.一维数组的定义 1.创建数组 2.初始化数组 二.数组的使用 1.访问数组 2.遍历数组 3.修改数据内容 三.有关数组方法的使用 1.toString 2. copyOf 四.查找数组中的元素 1.顺序查找 2.二分查找binarySearch 五.数组排序 1.冒泡排序 2.排序方法sort 六.数组逆置…...

@KafkaListener注解

KafkaListener(topics "${xxxx}", containerFactory "xxx") public void consume(String message) {service.save(xx); }在 Spring Boot 中&#xff0c;使用 KafkaListener 注解消费 Kafka 消息时&#xff0c;如果 service.save(cleanWikiSource) 抛出异…...

2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)

2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025) 2025 International Conference on Advances in Computer Vision Research and Applications 重要信息 2025年3月28-30日 南京 一轮截稿日期&#xff1a;2024年11月30日 EI检索稳定 早投稿&#xff0c;早审稿&a…...

第二代GPT-SoVITS V2:让声音克隆变得简单

随着人工智能技术的飞速发展&#xff0c;AI声音克隆已经成为一种趋势&#xff0c;广泛应用于各个领域。为了满足更多用户的需求&#xff0c;第二代GPT-SoVITS V2应运而生&#xff0c;它由RVC变声器创始人“花儿不哭”与AI音色转换技术Sovits开发者Rcell联合开发&#xff0c;是一…...

基于x86_64汇编语言简单教程6: 变量,常量,与运算

目录 变量 为未初始化的数据分配存储空间 多重初始化 常量 equ指令 &#xff05;assign 指令 &#xff05;define指令 算数指令 inc 自增指令 dec指令 ADD和SUB指令 imul/mul和idiv/div 实践&#xff1a;我们来写一个简单的一位数加法器 NASM逻辑指令 AND 指令 …...

Vue-router 路由守卫执行流程图

vue-router 路由守卫执行的流程图&#xff08;个人理解&#xff09; 图1 - 图2...

ES6 中函数参数的默认值

概述&#xff1a; ES 允许给函数的参数赋初始值&#xff1b; 代码示例及相关说明&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>函数参数默认值</title> </head> <body> <script&g…...

Redis知识应用索引指南

Redis&#xff0c;全称为Remote Dictionary Server&#xff0c;是一个开源的高性能键值对数据库。它以其卓越的性能、丰富的数据结构和灵活的持久化机制&#xff0c;在现代应用中扮演着至关重要的角色 1 什么是redis Redis是一个使用ANSI C语言编写的开源、跨平台的键值存储系…...

ES6扩展运算符

1.介绍&#xff1a; ... 扩展运算符能将数组转换为逗号分隔的参数序列&#xff1b; 扩展运算符&#xff08;spread&#xff09;也是三个点&#xff08;...&#xff09;。它好比 rest 参数的逆运算&#xff0c;将一个数组转为用逗号分隔的 参数序列&#xff0c;对数组进…...

【树莓派 5B】Python 版本切换

【树莓派 5B】Python 版本切换 前言整体思路具体步骤常见问题Python 无法建立与 Python3 的软连接 前言 本文基于树莓派5B 32-bit 树莓派OS&#xff0c;以 Python-3.11.2 降级到 3.9.2 为例&#xff0c;总结了在树莓派上切换 Python 版本的步骤&#xff0c;帮助大家轻松完成 P…...

windows C++-有效使用PPL(五)

如果可能&#xff0c;避免错误共享 当在不同处理器上运行的多个并发任务写入位于同一高速缓存行上的变量时&#xff0c;会发生错误共享。 当一个任务写入一个变量时&#xff0c;这两个变量的缓存行将会失效。 每当缓存行失效时&#xff0c;每个处理器必须重新加载缓存行。 因此…...

【排序】——1.冒泡排序法(含优化)

冒泡排序 1.原理 左边大于右边交换一趟排下来最大的交换到右边来(接下来所以文章用升序举例) 从左到右&#xff0c;相邻元素进行比较。 每次比较一轮&#xff0c;就会找到序列中最大的一个&#xff08;最小的一个——降序&#xff09;。这个数就会从序列的最右边冒出来。 以…...

在MySQL中创建数据库和表

在MySQL中&#xff0c;创建数据库和表是数据库管理的基础操作。下面我将详细解释如何先创建一个数据库&#xff0c;然后在该数据库中创建一个或多个表。 ### 1. 创建数据库 首先&#xff0c;你需要登录到MySQL服务器。然后&#xff0c;使用CREATE DATABASE语句来创建一个新的…...

Hadoop 安装教程——单节点模式和分布式模式配置

文章目录 一、预备知识1.1 Hadoop 发行版本1.2 部署方式 二、预备条件2.1 环境准备2.2 创建新用户(可选)2.3 配置 SSH 无密码登录2.4 下载 Hadoop2.5 编辑 hadoop-env.sh 脚本2.6 编辑 dfs 和 yarn 脚本 三、单节点模式部署3.1 官方使用案例3.2 查看运行结果 四、伪分布模式部署…...

给c++小白的教程10:一维数组

好久不见&#xff01;我又来更教程了。 升到初二&#xff0c;由于学业原因&#xff0c;更新速度减慢了&#xff0c;十分抱歉&#xff01; 以后将恢复到一周一次的频率 作者只是个普通学生&#xff0c;做的教程多有不足&#xff0c;希望大家批评指正&#xff01; 赫炎今天在一…...

【排序】3.希尔排序法

希尔排序&#xff08;直接插入排序的优化&#xff09; 1.分组思想 上图中gap为5&#xff0c;说明要分成5组。 这5组分别用了五种颜色的线条连接起来了。 第1组&#xff1a;9、4 第2组&#xff1a;1、8 第3组&#xff1a;2、6 第4组&#xff1a;5、3 第5组&#xff1a;7、5 2.缩…...

商品详情数据API接口概述(json数据格式返回参考)

商品详情数据API接口是指一种编程接口&#xff08;API&#xff0c;Application Programming Interface&#xff09;&#xff0c;它允许开发者或系统以编程方式获取商品的详细信息。这些信息包括但不限于SKU的详细信息、商品图片、商品属性、价格、库存状态、用户评价等。当调用…...

Jmeter简介

基础介绍 Jmeter录制脚本的原始是配置一个HTTP代理&#xff0c;然后浏览器通过这个代理访问测试页面从而完成脚本录制。 一、下载安装 jmeter本身不需要安装&#xff0c;需要配置环境变量JDK&#xff0c;然后打开bin文件夹中的jmeter.vbs即可。建议jdk 1.7及以上版本。 基本祖…...

网页前端开发之HTML入门篇:标题标签 heading

标题标签 heading <h1>-<h6>是HTML的标题标签&#xff0c;其标签内容会呈现六个不同级别的字号&#xff0c; <h1>字号最大&#xff0c;<h6>字号最小。 示例 <html><body><h1>一级标题</h1><h2>二级标题</h2>&l…...

计算机毕业设计:Python智慧航班数据大屏及管理后台 Django框架 可视化 MLP 大数据 机器学习 深度学习(建议收藏)✅

1、项目介绍 技术栈 采用 Python 3.10 编程语言&#xff0c;基于 Django 框架进行后端开发&#xff0c;前端使用 Echarts 可视化技术搭建数据大屏&#xff0c;并结合多层感知器&#xff08;MLP&#xff09;神经网络模型实现航班延误状态与机票价格的预测功能。 功能模块飞机航…...

G-Helper技术指南:华硕笔记本显示配置与性能优化全解析

G-Helper技术指南&#xff1a;华硕笔记本显示配置与性能优化全解析 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, S…...

[Python3高阶编程] - 再论 WSGI、Web服务器和Python Web应用的关系

一、核心关系&#xff1a;WSGI 是“接口标准”&#xff0c;Web 服务器是“实现者”简单定义组件类型职责代表实现WSGI协议标准&#xff08;PEP 3333&#xff09;定义 Web 服务器与 Python 应用之间的通信接口规范&#xff1a;• 函数签名• 参数格式• 数据流向• 错误处理不是…...

AI写论文宝藏汇总!4款实用AI论文生成工具,解决各类论文难题!

你是否也在为撰写期刊论文、毕业论文或职称论文而感到苦恼呢&#xff1f;在进行人工写作时&#xff0c;面对浩如烟海的文献&#xff0c;仿佛像是在大海中捞针。而复杂的格式要求又让人心烦意乱&#xff0c;反复修改的过程更是让耐心逐渐耗尽&#xff0c;效率低下的问题成了很多…...

Spring Cloud微服务架构下的医院信息系统深度解析与实践指南

Spring Cloud微服务架构下的医院信息系统深度解析与实践指南 【免费下载链接】HIS HIS英文全称 hospital information system&#xff08;医疗信息就诊系统&#xff09;&#xff0c;系统主要功能按照数据流量、流向及处理过程分为临床诊疗、药品管理、财务管理、患者管理。诊疗…...

拒绝广告!实测Brave/Vivaldi/百分浏览器的隐私保护到底靠不靠谱

拒绝广告&#xff01;实测Brave/Vivaldi/百分浏览器的隐私保护到底靠不靠谱 在数字广告无孔不入的今天&#xff0c;浏览器隐私保护功能已成为用户刚需。Brave、Vivaldi、百分&#xff08;Cent&#xff09;等基于Chromium内核的浏览器纷纷以"零广告追踪"、"进程隐…...

基于单细胞测序技术的细胞通讯分析方法及其应用

一、细胞通讯与单细胞测序技术的研究意义多细胞生物由不同类型的细胞构成一个开放的社会。在这一社会中&#xff0c;单个细胞之间必须协调其行为&#xff0c;因此建立有效的通讯联络机制至关重要。细胞通讯是指一个细胞发出的信息通过介质传递至另一个细胞&#xff0c;并引发相…...

拖曳阵声纳系统技术开源情报(OSINT)综合分析

执行摘要 本报告基于印度国防研究与发展组织(DRDO)海军物理与海洋ographic实验室(NPOL)发布的ALTAS技术转让文件,结合全球开源情报,系统分析了拖曳阵声纳(Towed Array Sonar, TAS)的关键技术、开源实现、学术前沿和商业系统。情报显示,现代拖曳阵声纳技术正向双/多静…...

Bedrock Launcher:一键畅玩Minecraft基岩版全版本的终极解决方案

Bedrock Launcher&#xff1a;一键畅玩Minecraft基岩版全版本的终极解决方案 【免费下载链接】BedrockLauncher 项目地址: https://gitcode.com/gh_mirrors/be/BedrockLauncher 还在为Minecraft基岩版版本切换而烦恼吗&#xff1f;每次想体验不同版本都要卸载重装&…...

避开SNP芯片分型的3个大坑:GenomeStudio聚类分析常见问题解决方案

避开SNP芯片分型的3个大坑&#xff1a;GenomeStudio聚类分析常见问题解决方案 在遗传学研究中&#xff0c;SNP芯片技术因其高通量、低成本的优势&#xff0c;依然是群体遗传学和复杂疾病研究的重要工具。然而&#xff0c;从原始信号到可靠的分型结果&#xff0c;这条路上布满了…...