r - R - 组合两个字符向量,然后切断最后一个字符
问题描述
我正在处理一个大型数据集,该数据集在两列中存储一个 9 位 ID,ID_part_1
例如ID_part_2
ID 部分 1 是顶级规范的通用标识符,在本列中重复,ID 部分 2 对于每个 ID 部分 1 都是唯一的。我想将部分 1 与部分 2 组合,然后切断最后一个字符或整数生成的字符串。
请参阅下面的示例数据:
ID_part_1 ID_part_2 Comb_ID
G12345 678 G1234567
G12345 679 G1234567
A23567 9C1 A235679C
123456 789 12345678
所有数据都存储在一个 data.table 中,例如my_data.dt
,因此可以轻松地处理这些列。两列ID_part_1
和ID_part_2
都是“字符”类型。计算结果应存储在 Comb_ID 列中。在从组合字符串中修剪最后一个字符时,我随后将从计算列中提取所有唯一值:
unique(my_data.dt[, Comb_ID])
解决方案
我们可以使用substr
with paste
inbase R
my_data.dt$Comb_ID <- with(my_data.dt,
paste0(ID_part_1, substr(ID_part_2, 1, 2)))
my_data.dt$Comb_ID
#[1] "G1234567" "G1234567" "A235679C" "12345678"
注意:不需要包
数据
my_data.dt <- structure(list(ID_part_1 = c("G12345", "G12345", "A23567", "123456"
), ID_part_2 = c("678", "679", "9C1", "789"), Comb_ID = c("G1234567",
"G1234567", "A235679C", "12345678")), class = "data.frame", row.names = c(NA,
-4L))
推荐阅读
- android - android studio web查看位置
- php - 在 Laravel 中找不到 Passport 的 AppServiceProvider 中的 $this->registerPolicies 方法
- keycloak - Keycloak 服务器重启后 Keycloak 访问令牌无效
- c# - UWP C#如何从 ListView 重新排列/重新排序 SQLite 数据库
- c# - 当我将新行写入 .txt 文件时,行已删除 - Windows 窗体
- css - 出现滚动条时,使用引导表边框类对齐表格边框不正确
- c# - c# Selenium 获取一个元素
- laravel - Laravel 最佳实践:打印 Json 响应
- android - RecyclerView的第一项和最后一项发生了变化,当只点击一个时
- java - app:pstsShouldExpand="true" 使我的应用程序崩溃