r - 编辑 R 列中的每一行

标签 r dataframe

我有一个如下所示的数据框:

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)

关于r - 编辑 R 列中的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69959787/

相关文章:

python - groupby.first() 和 groupby.head(1) 有什么区别?

r - dplyr 管道 : how to add a margin row calculating a total (like addmargins function - base)

r - 在 R 中将两个向量合二为一

r - 错误 : no library trees found in 'lib.loc' when deploying Shiny App

python - Pandas Groupby 和 Sum Only 一列

scala - 如何将Spark数据框添加到另一个数据框的底部?

python - 使用带有元组键的字典替换 Pandas DataFrame 中的列值

r - 删除特定列中特定值序列之后的行

r - Lubridate 获取一周中某一天的日期()

r - 如何在R中没有for循环的情况下将一列与一系列相关的虚拟变量进行比较