R 从电子邮件主题行提取特定患者ID
我想从电子邮件主题行中提取患者ID。我正在处理两个数据帧:一个是SQL数据库的输出(包含电子邮件主题行),另一个是患者信息(医院名称和患者ID)R 从电子邮件主题行提取特定患者ID,r,textmatching,data-scrubbing,R,Textmatching,Data Scrubbing,我想从电子邮件主题行中提取患者ID。我正在处理两个数据帧:一个是SQL数据库的输出(包含电子邮件主题行),另一个是患者信息(医院名称和患者ID) 我想使用患者ID并从第一个数据帧中删除主题行,然后返回与所述患者关联的医院。不幸的是,我无法提供对数据的访问 ## Example Data Data frame 1 example row: Column 1 (from_Email): xxxxx@hospital.com Column 2 (Time_IN): 1/11/2000 12:0
我想使用患者ID并从第一个数据帧中删除主题行,然后返回与所述患者关联的医院。不幸的是,我无法提供对数据的访问
## Example Data
Data frame 1 example row:
Column 1 (from_Email): xxxxx@hospital.com
Column 2 (Time_IN): 1/11/2000 12:00:00
Column 3 (from_Subject): Patient H2445JFLD presented into ER with .... symptoms
Data frame 2 example row:
Column 1 (Hospital Name): Hospital ABC
Column 2 (Patient ID): H2445JFLD
因为您只共享了一行数据,所以我不确定来自\u subject的电子邮件主题行
的模式。如果它是一个自动电子邮件系统,那么就有一个固定的电子邮件主题行模式。我为您提供了3种从主题
提取患者ID的方法
library(dplyr)
df1 <- data_frame(from_Email = "xxxxx@hospital.com",
Time_IN = "1/11/2000 12:00:00",
from_Subject = "Patient H2445JFLD presented into ER with .... symptoms")
df2 <- data_frame(Hospital_Name = "Hospital ABC",
Patient_ID = "H2445JFLD")
# Extract 2nd word from the subject line
df1 <- df1 %>% mutate(Patient_ID = stringr::word(from_Subject, 2))
# Extract the word after "Patient" from the subject line
df1 <- df1 %>% mutate(Patient_ID = str_extract(df1$from_Subject, '(?<=Patient\\s)\\w+'))
# Extract a word of length 9 that has characters A-Z and 0-9 from the subject line
df1 <- df1 %>% mutate(Patient_ID = str_extract(df1$from_Subject, '\\b[A-Z0-9]{9}\\b'))
“不幸的是,我不能提供对数据的访问。”没有,但您可以提供几行示例数据,这些数据真实地反映了您将接收的数据类型,而不是您的数据集的一部分。例如,如果数据是跟踪大学生的成绩(这也是受法律保护的),你可以提供描述约翰·Q·纳税人和简·多伊学术记录的记录。您还可以提供一个示例,说明您已经尝试了什么,以及为什么不起作用。
left_join(df1, df2, on="Patient_ID")
#Joining, by = "Patient_ID"
# A tibble: 1 × 5
# from_Email Time_IN from_Subject Patient_ID Hospital_Name
# <chr> <chr> <chr> <chr> <chr>
#1 xxxxx@hospital.com 1/11/2000 12:00:00 Patient H2445JFLD presented into ER with .... symptoms H2445JFLD Hospital ABC