r - 从第 2 列订购的拣货值
问题描述
我在列中有一个参数作为 AD。但每行的顺序不同。我如何从 X2 中选择“AD”。
X1 X2
GT:GQ:GQX:DPI:AD:DP 0/1:909:12:125:93,26:119
GT:GQ:GQX:DPI:AD 0/1:909:12:125:35,24
GT:GQ:GQX:DP:DPF:AD 0/1:57:3:11:130:8,3
GT:AD:DP:GQ:PL 0/1:211,31:242:99:138,0,7251
输出
AD
93,26
35,24
8,3
211,31
解决方案
":"
在使用时拆分列strsplit
并选择"AD"
使用 . 标识grep
的位置mapply
。
mapply(`[`, strsplit(d$X2, ":"), sapply(strsplit(d$X1,":"), grep, pattern="AD"))
# [1] "93,26" "35,24" "8,3" "211,31"
数据:
d <- structure(list(X1 = c("GT:GQ:GQX:DPI:AD:DP", "GT:GQ:GQX:DPI:AD",
"GT:GQ:GQX:DP:DPF:AD", "GT:AD:DP:GQ:PL"), X2 = c("0/1:909:12:125:93,26:119",
"0/1:909:12:125:35,24", "0/1:57:3:11:130:8,3", "0/1:211,31:242:99:138,0,7251"
)), class = "data.frame", row.names = c(NA, -4L))
推荐阅读
- css - 如何使内联图像在较小的屏幕中响应
- powershell - 在 TFS 2015 构建中运行 PowerShell 脚本时无法加载模块错误
- php - “if”语句比较运算符的操作顺序
- javascript - 如何在 Phaser 3 中旋转区域?
- asp.net - Datadog - 监控由 IIS 托管的同一站点中的多个应用程序
- c# - 如何使用 Moq 模拟扩展方法 | 网址.Page()
- php - mysqli_num_rows($result)==0 返回错误
- laravel - Laravel Nova 未来指标趋势
- python - 如何使用分隔符拆分 Ansible 中的值
- java - 使用带有托管服务标识的 Spring api 获取 keyvault 机密