【问题标题】:How to remove a specific character within a column in r?如何删除r中列中的特定字符?
【发布时间】:2020-05-07 17:40:56
【问题描述】:

我有一个 ID 数据集:

VARIANT_ID
01_1254436_A_G_1
02_2254436_A_G_1 
03_3255436_A_G_1 
10_10344745_A_G_1 
11_11256437_A_G_1 
11_11343426_A_G_1 
12_12222431_A_G_1
14_14200436_A_G_1 
15_15256789_A_G_1 

我希望仅从 ID 以 01-09 开头的行的开头字符中删除 0,但是如果不进一步删除列中的其他 0,我在执行此操作时遇到了麻烦,并且只看到其他类似的问题语言。我想要的输出是:

VARIANT_ID
1_1254436_A_G_1
2_2254436_A_G_1 
3_3255436_A_G_1 
10_10344745_A_G_1 
11_11256437_A_G_1 
11_11343426_A_G_1 
12_12222431_A_G_1
14_14200436_A_G_1 
15_15256789_A_G_1 

仅删除了每行开头的零,如何指定?我来自生物学背景,因此将不胜感激。

输入数据:

structure(list(VARIANT_ID = c("01_1254436_A_G_1", "02_2254436_A_G_1", 
"03_3255436_A_G_1", "10_10344745_A_G_1", "11_11256437_A_G_1", 
"11_11343426_A_G_1", "12_12222431_A_G_1", "14_14200436_A_G_1", 
"15_15256789_A_G_1")), row.names = c(NA, -9L), class = c("data.table", 
"data.frame"))

【问题讨论】:

    标签: r string dataframe bioinformatics


    【解决方案1】:

    您可以使用gsub 函数。使用 ^ 表示字符串的开头,这样您就不会在其他地方删除 0。

    x$VARIANT_ID <- gsub("^0", "", x$VARIANT_ID)
    

    【讨论】:

      【解决方案2】:

      如果您更喜欢tidyverse 解决方案

      ggg$new_variant <- stringr::str_replace(ggg$VARIANT_ID, "^0", "")
      

      【讨论】:

        【解决方案3】:

        我们也可以使用sub

        df1$VARIANT_ID <- sub("^0", "", df1$VARIANT_ID)
        

        【讨论】:

          【解决方案4】:

          tidyverse 的可选解决方案

          df$VARIANT_ID <- str_remove(df$VARIANT_ID, pattern = "^0")
          

          【讨论】:

            猜你喜欢
            • 2013-01-21
            • 2023-02-01
            • 2022-08-16
            • 2021-10-05
            • 2014-03-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-12-20
            相关资源
            最近更新 更多