2

2 つのデータ フレームがあります。DF1 には 3 つの列があり、DF2 には 1 つの列があります。DF1 には DF2 に含まれるすべての要素がありますが、以下に示すようにそれらのほとんどが複製されます。

DF1=
***freetext***,         ***specific***,    ***ICDcode*** 

Jaundice,hepatitisA,B,C   Hepatitis A       B15
Jaundice,hepatitisA,B,C   Hepatitis B       B16
Jaundice,hepatitisA,B,C   Hepatitis C       B17.1
Jaundice,hepatitisA,B,C   Jaundice          R17
lobar Pneumonia           Lobar pneumonia   J18.1
Lobar Pneumonia ,scabies  Lobar pneumonia   J18.1
scabiess                  scabies            G10     

DF2=          
Jaundice,hepatitisA,B,C  
scabiess                            
Lobar Pneumonia ,scabies
lobar Pneumonia

一致が発生するたびにDF1の形式をとる結果のデータ フレームが存在するように、2 つのデータ フレームを一致させたいと考えています。桁。つまり、重複は以下に示すように維持する必要があります。

Resultant data frame should appear like this.

    column1                  column2             column3
Jaundice,hepatitisA,B,C   Hepatitis A       B15
Jaundice,hepatitisA,B,C   Hepatitis B       B16
Jaundice,hepatitisA,B,C   Hepatitis C       B17.1
Jaundice,hepatitisA,B,C   Jaundice          R17

では、DF2 をループして DF1 (最初の列) で一致を見つけ、上記のように他のすべての対応する行と一致するデータ フレームを生成するにはどうすればよいですか?

これが私のスクリプトですが、望ましい結果が得られないようです

   newMatches<- data.frame()
for(i 1:nrow(DF1){ for(j in 1:nrow(DF2[,1]{grep(j, i, ignore.case=F, value=T)->newMatches}} 
#it doesn't produce other columns of DF1

どんな助けや提案も大歓迎です.Rの初心者です.

4

1 に答える 1