gpt4 book ai didi

r - 查找一个字符串是否出现在另一个字符串之前

转载 作者:行者123 更新时间:2023-12-02 18:32:30 26 4
gpt4 key购买 nike

我有一个包含患者地址的字符串变量。我的目标是标记居住在“401 30th street”的患者。我想标记在“30”之前包含数字“401”的字符串,以避免标记像数字 3 这样的地址。下面的代码仅标记字符串是否包含数字 401 和 30,无论它们的位置如何。任何帮助将不胜感激。

                      ADDRESS Outcome
1 401 300th st FALSE
2 40120 30 street FALSE
3 30 401 plz TRUE
4 401 30th st TRUE
5 401 e gibbsborro rd, 305 FALSE
6 401 e 30th street, shelter TRUE
7 401 east 30st TRUE
8 401 e30th street, 3 TRUE
9 77-02 30th ave, 3rd fl FALSE
10 401 e30 st. TRUE
structure(list(ADDRESS = c("401 300th st", "40120 30 street", 
"30 401 plz", "401 30th st", "401 e gibbsborro rd, 305", "401 e 30th street, shelter",
"401 east 30st", "401 e30th street, 3", "77-02 30th ave, 3rd fl",
"401 e30 st."), Outcome = c(FALSE, FALSE, TRUE, TRUE, FALSE,
TRUE, TRUE, TRUE, FALSE, TRUE)), class = "data.frame", row.names = c(NA,
-10L))
loction <- location %>%
mutate(ADDRESS = tolower(ADDRESS),
st30 = grepl("\\<401\\>", ADDRESS) &
grepl("\\<30\\>|\\<30th\\>|\\<30st\\>|\\<e30th\\>|\\<e30\\>", ADDRESS))

编辑:我向样本数据以及我想要生成的变量添加了新的观察结果。这个想法是标记来自 30 街 401 号的病人。为此,我想标记在 30|30th|s30|east30|e30st 等之前有数字 401 的字符串。我希望这能澄清我正在寻找的内容。谢谢。

最佳答案

尝试使用

library(dplyr)
library(stringr)
location %>%
mutate(flag = str_detect(ADDRESS, '401\\b.*\\b30'))

关于r - 查找一个字符串是否出现在另一个字符串之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69259792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com