2017-02-21 8 views
0

電子メールの件名から患者IDを抽出します。私は2つのデータフレームで作業しています.1つはSQLデータベース(電子メールの件名を含む)からの出力を持ち、もう1つは患者情報(病院名と患者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

"残念ながら私はデータにアクセスできません。"いいえ、**実際のデータセットの一部ではなく、受け取るデータの種類を現実的に反映した** example **データの2行を提供できます。例えば、データが、(法的に保護されている)大学生の成績を追跡していたとすると、John Q. TaxpayerとJane Doeの学問記録を記述したレコードを提供することができます。既に試したことを示す[mcve]と、それが動作しない理由を示すこともできます。 –

答えて

1

あなたはデータの1行のみを共有してきたので、私は、電子メールの件名from_Subjectのパターンのかどうか分かりません。それが自動化された電子メールシステムであるなら、電子メールの件名ラインfrom_Subjectの固定パターンがあります。 from_SubjectからPatient_IDを抽出する3つの方法を提供しました。

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')) 

あなたがPatient_IDを抽出したら、それは簡単な左では、あなたがする必要があるだろうと参加します。

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 
関連する問題