r - 编辑R中列中的每一行
问题描述
我有一个看起来像这样的数据框:
Twin_Pair zyg CDsumTwin1 CDsumTwin2
<chr> <int> <dbl> <dbl>
1 pair1(2891,2892) 2 0 5
2 pair2(4000,4001) 1 0 0
3 pair3(4006,4007) 2 0 3
4 pair4(4009,4010) 2 1 3
5 pair5(4012,4013) 2 2 0
6 pair6(4015,4016) 2 0 9
7 pair7(4018,4019) 2 0 0
8 pair8(4021,4022) 1 0 0
9 pair9(4024,4025) 1 0 0
10 pair10(4027,4028) 2 2 17
如何从第一列的每一行中删除“pair1”、“pair2”等,以便留下类似 (4027,4028) 的内容?我知道如何删除前 5 个字符,但问题是 pair100。什么是一种有效的方法来做到这一点?
解决方案
您需要一个正则表达式调用来识别您的模式。请测试此代码以查看它是否有效。
dat$Twin_Pair <- sub("^pair[0-9]+", "", dat$Twin_Pair)
dat
# Twin_Pair zyg CDsumTwin1 CDsumTwin2
# 1 (2891,2892) 2 0 5
# 2 (4000,4001) 1 0 0
# 3 (4006,4007) 2 0 3
# 4 (4009,4010) 2 1 3
# 5 (4012,4013) 2 2 0
# 6 (4015,4016) 2 0 9
# 7 (4018,4019) 2 0 0
# 8 (4021,4022) 1 0 0
# 9 (4024,4025) 1 0 0
# 10 (4027,4028) 2 2 17
数据
dat <- read.table(text = "Twin_Pair zyg CDsumTwin1 CDsumTwin2
1 'pair1(2891,2892)' 2 0 5
2 'pair2(4000,4001)' 1 0 0
3 'pair3(4006,4007)' 2 0 3
4 'pair4(4009,4010)' 2 1 3
5 'pair5(4012,4013)' 2 2 0
6 'pair6(4015,4016)' 2 0 9
7 'pair7(4018,4019)' 2 0 0
8 'pair8(4021,4022)' 1 0 0
9 'pair9(4024,4025)' 1 0 0
10 'pair10(4027,4028)' 2 2 17",
header = TRUE)
推荐阅读
- c - 全局 char *array 被覆盖
- angular - 如何使用文件夹树在 Azure 存储中获取静态网站托管?
- ios - 我们可以使用 Apple Developer Enterprise 帐户发布 ios App 吗?
- reactjs - 如何开玩笑地模拟 AWS 库
- css - 如何使悬停属性永久化?[CSS]
- javascript - 如何使用 Lodash 访问父对象和匹配的子对象?
- r - 在动作按钮被点击后绘制闪亮
- javascript - 用于 filesaver.js 的 Javascript 导入
- node.js - 如何使用 mongoose 更新在 mongodb 中作为输出返回的文档
- regex - Nginx 动态虚拟主机返回 ERR_INVALID_REDIRECT