R语言【taxlist】——id_generator(),id_solver():构建标识符

Package taxlist version 0.2.4


Description

为数据库中的新元素创建标识符。

id_solver() 方法将比较一组标识符并修改第二个标识符以避免重复的id。


Usage

复制代码
id_generator(
  len,
  minvalue = 1,
  nchar = 10,
  mode = c("numeric", "character"),
  ...
)

id_solver(insert, to, suffix = c("numeric", "character"), sep = "")

Arguments

参数【len】: 数值,指示检索到的带有标识符的向量的长度。

参数【minvalue】:指示标识符向量中最小值的数值。仅用于'mode = "numeric"'。

参数【nchar】:指示检索标识符中包含的字符数的数值。仅用于'mode = "character"'。

参数【mode】:指示所创建标识符类型的字符值,该值可以是数字(默认值)或字符。

参数【...】:进一步的参数传递给stri_rand_strings(),实际上传递给参数'pattern'。

参数【insert】:包含将插入到数据库中的元素id的向量(数字或字符)。

参数【to】:包含目标数据库中已经存在的元素id的向量(数字或字符)。

参数【suffix】:表示后缀使用的模式的字符向量。这里只接受'数字'或'字符'以及部分匹配。此参数仅用于字符id。如果'suffix = ' character ' ',则字母表中的一个字母(向量'letters')将被附加到重复的id。

参数【sep】:一个字符值,用作原始字符ID和附加后缀之间的分隔符。


Value

由id_generator()创建的id向量,可以是数字或字符。在id_solver()的情况下,一个向量,它要么与'insert'相同(如果没有冲突),要么具有相同属性但具有已解析id的向量。


Examples

R 复制代码
id_generator(len = 10, minvalue = 5)
复制代码
 [1]  5  6  7  8  9 10 11 12 13 14
R 复制代码
id_generator(len = 10, mode = "character")
复制代码
 [1] "X8oLVnXaea" "cJYBN1IDPE" "USeOSWr7Wp" "IMpsDHhC8O" "bXp2fO8Iza" "9kZl5hTmhk" "5GcURAEJyh"
 [8] "TkJAQApkCW" "YLYprEIZQZ" "TeRqe0XVae"
R 复制代码
id_solver(insert = c(3, 7, 5, 10), to = c(1:5))
复制代码
[1] 11  7 12 10
R 复制代码
db_refs <- c("Alvarez2003", "Schmitz1988", "Li2023")
new_refs <- c("Alvarez2003", "Li2023", "Mueller1953", "Alvarez2003a")
any(duplicated(c(db_refs, new_refs)))
复制代码
[1] TRUE
R 复制代码
solved_refs <- id_solver(insert = new_refs, to = db_refs, suffix = "character")
solved_refs
复制代码
[1] "Alvarez2003b" "Li2023a"      "Mueller1953"  "Alvarez2003a"
R 复制代码
any(duplicated(c(db_refs, solved_refs)))
复制代码
[1] FALSE
相关推荐
知无不研10 分钟前
.练习- Java字符串之String类创建字符串之使用equals和==判断字符串是否相等
java·开发语言
Slow菜鸟16 分钟前
Java基础 | JWT登录场景化最优方案(一)
java·开发语言
weixin_4573402123 分钟前
lora监督微调(SFT)
开发语言·python
_200_32 分钟前
Lua 运算符
开发语言·junit·lua
UP_Continue37 分钟前
C++11--引言折叠与完美转发
开发语言·c++
码农三叔38 分钟前
(4-2-05)Python SDK仓库:MCP服务器端(5)Streamable HTTP传输+Streamable HTTP传输
开发语言·python·http·大模型·1024程序员节·mcp·mcp sdk
十铭忘39 分钟前
Vue3实现Pixso中的钢笔工具
开发语言·javascript·vue
IT枫斗者42 分钟前
Spring Boot 4.0 正式发布:新一代起点到底“新”在哪?(Spring Framework 7 / Java 25 / JSpecify / API 版本管理 / HTTP Service
java·开发语言·spring boot·后端·python·spring·http
AI大佬的小弟44 分钟前
Python基础(10):Python函数基础详解
开发语言·python·函数·ai大模型基础·嵌套函数·变量的作用域·全局变量和局部变量
Evand J1 小时前
【2026课题推荐】基于累计概率方法匹配轨迹的飞行目标轨迹定位,附MATLAB代码的演示效果
开发语言·matlab·目标跟踪·定位·轨迹匹配