我的数据类似于以下示例:
数据 |
---|
假装县太平绅士 |
假县,德克萨斯州 JP 1.1 |
德克萨斯州马德普城 |
不是真实县,JP 2.5 |
如何将“ ,TX ”添加到第一个单元格等没有它的县? 我想要一个看起来像这样的数据集:
数据 |
---|
假装县,德克萨斯州 JP |
假县,德克萨斯州 JP 1.1 |
德克萨斯州马德普城 |
不是真实县,德克萨斯州 JP 2.5 |
我不确定具体要求,但你可以尝试使用正则表达式。
# build example data
df <-
data.frame(
stringsAsFactors = FALSE,
DATA = c("PRETEND COUNTY JP",
"FAKE COUNTY,TX JP 1.1","Madeup City,TX",
"Not Real County, JP 2.5")
)
# build regular expression
pattern = stringr::regex('county', ignore_case = TRUE)
# use regular expression to make new desired column
df2 <-
df |>
dplyr::mutate(
DATA2 =
dplyr::case_when(
stringr::str_detect(DATA, "TX") ~ DATA,
TRUE ~ stringr::str_replace(DATA, pattern ,"County, TX")
)
)
df2
#> DATA DATA2
#> 1 PRETEND COUNTY JP PRETEND County, TX JP
#> 2 FAKE COUNTY,TX JP 1.1 FAKE COUNTY,TX JP 1.1
#> 3 Madeup City,TX Madeup City,TX
#> 4 Not Real County, JP 2.5 Not Real County, TX, JP 2.5
创建于 2023-09-22,使用 reprex v2.0.2