2017-02-21 16 views
0

전자 메일 제목 줄에서 환자 ID를 추출하려고합니다. 저는 두 가지 데이터 프레임으로 작업하고 있습니다. 하나는 SQL 데이터베이스 (전자 메일 제목 줄 포함)에서 출력되고 다른 하나는 환자 정보 (병원 이름 및 환자 ID)가 있습니다.전자 메일 제목 줄에서 특정 환자 ID 추출

환자 ID를 사용하고 첫 번째 데이터 프레임에서 제목 줄을 문질러서 해당 환자와 관련된 병원으로 보내고 싶습니다. 불행히도 저는 데이터에 대한 액세스를 제공 할 수 없습니다.

는 데이터의 한 행을 공유 한 이후
## Example Data 

Data frame 1 example row: 

Column 1 (from_Email): [email protected] 

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 
+0

"불행히도 데이터에 액세스 할 수 없습니다." 아니요. ** 예제 ** 데이터 행을 두 줄 제공 할 수 있습니다. 실제 데이터 세트의 일부가 아니더라도 실제로받을 데이터 유형을 반영합니다. 예를 들어, 데이터가 대학생의 성적 (법적으로 보호 된 점수)을 추적했다면 John Q. Taxpayer와 Jane Doe의 학업 기록을 설명하는 기록을 제공 할 수 있습니다. 이미 시도한 것을 설명하는 [mcve]와 그것이 작동하지 않는 이유를 제공 할 수도 있습니다. –

답변

1

, 나는 이메일 제목 from_Subject의 패턴의 확실하지 않다. 그것이 자동화 한 전자 우편 체계 인 경우에 전자 우편 제목 라인 from_Subject의 고정 패턴이 있습니다. from_Subject에서 Patient_ID을 추출하는 3 가지 방법을 제공해 왔습니다. 당신이 Patient_ID을 추출하면

library(dplyr) 

df1 <- data_frame(from_Email = "[email protected]", 
        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')) 

은, 그것은 간단한 왼쪽 당신이해야 할 거라고 결합이다.

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 [email protected] 1/11/2000 12:00:00 Patient H2445JFLD presented into ER with .... symptoms H2445JFLD Hospital ABC