[英]Find a string in R and replace it with other?
我有這個數據:
structure(list(bin = structure(1:6, .Label = c("90", "54",
"89", "87", "56", "24"), class = "factor"),
variable = structure(c(1L, 2L, 3L, 4L, 1L, 1L), .Label = c("ghfg",
"kl", "MIRO", "SM1"), class = "factor"),
value = c(81, 0.1, 0.22, 9, 79, NaN)), row.names = c(NA,
6L), class = "data.frame")
我想找到單詞 the 包含以下內容並在列變量中替換為:
te=c(IRO,fg)
所以 ghfg 將是 fg 而 MIRO 將是 IRO
這是一個使用stringr
的編輯解決方案,“ghfg 將是 fg,MIRO 將是 IRO”,您可以根據需要在“管道符號”之間添加盡可能多的其他替換。
library(stringr)
te=c("IRO|fg")
df$new_variable <-
ifelse(stringr::str_detect(df$variable, te),
stringr::str_extract(df$variable, te),
as.character(df$variable))
df
#> bin variable value new_variable
#> 1 90 ghfg 81.00 fg
#> 2 54 kl 0.10 kl
#> 3 89 MIRO 0.22 IRO
#> 4 87 SM1 9.00 SM1
#> 5 56 ghfg 79.00 fg
#> 6 24 ghfg NaN fg
您的資料
df <- structure(list(bin = structure(1:6, .Label = c("90", "54",
"89", "87", "56", "24"), class = "factor"),
variable = structure(c(1L, 2L, 3L, 4L, 1L, 1L), .Label = c("ghfg",
"kl", "MIRO", "SM1"), class = "factor"),
value = c(81, 0.1, 0.22, 9, 79, NaN)), row.names = c(NA,
6L), class = "data.frame")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.