Как удалить конкретный символ c в столбце r? - PullRequest
0 голосов
/ 07 мая 2020

У меня есть набор данных с идентификаторами:

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 

Я хочу удалить 0 только из начальных символов строк с идентификаторами, начинающимися с 01-09, но у меня проблемы с этим не удаляя другие 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"))

Ответы [ 4 ]

4 голосов
/ 07 мая 2020

Вы можете использовать функцию gsub. Используйте ^ для обозначения начала строки, чтобы вы не удаляли нули в другом месте.

x$VARIANT_ID <- gsub("^0", "", x$VARIANT_ID)
0 голосов
/ 07 мая 2020

дополнительное решение с tidyverse

df$VARIANT_ID <- str_remove(df$VARIANT_ID, pattern = "^0")
0 голосов
/ 07 мая 2020

Мы также можем использовать sub

df1$VARIANT_ID <- sub("^0", "", df1$VARIANT_ID)
0 голосов
/ 07 мая 2020

Если вы предпочитаете tidyverse решение

ggg$new_variant <- stringr::str_replace(ggg$VARIANT_ID, "^0", "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...